Mikhail [azalio]
ага
Mikhail [azalio]
я в курсе
Andor
Tadeusz
Denis
Народ! тут видел картинку про кубеня, там еще костыль помоему был изображен)))Не у кого не завалялось?)
Andor
Eduard
Denis
Tadeusz
Tadeusz
куда домен направлять? на серый IP? :D
Eduard
Спрячь в cloudflare.
Eduard
Или ты про внутрикластерное общение?
Edouard
𝚔𝚟𝚊𝚙𝚜
Игорь
Tadeusz
кто ж мне в хетцнере даст /24
Tadeusz
еще и на пачку серверов
Sergey
а вы точно доку к хетцнеру читали?
Sergey
https://wiki.hetzner.de/index.php/Vswitch/ru
Sergey
можно набрать /27
Sergey
ну если нужна именно /24 -тогда ой
𝚔𝚟𝚊𝚙𝚜
Вопрос на засыпку:
Как обучить wget из busybox доверять кубовому CA-сертификату?
𝚔𝚟𝚊𝚙𝚜
думал подсунуть его в /etc/ssl/certs/ca-certificates.crt - но так не работает
Andor
А он вообще с ссл собран?
Andor
Oh shi~
Anonymous
Подскажите, пожалуйста в чём у меня ошибка ?
Настраиваю кластер - три bare-metal сервера - все мастера и поды тоже на них планируется запускать.
Сеть - calico
Кластер настраивался kubespray
Хочу настроить ingress.
Если настроить его рекомендованным путём (https://github.com/kubernetes/ingress-nginx/blob/master/deploy/provider/baremetal/service-nodeport.yaml) - то ломается доступ к api kubernetes, т.к. он тоже провешивается на 443 порт на 10.233.0.1
Ок, вешаю его без указания типа с использованием External IP
В этом случае этот IP вешается на интерфейс kube-ipvs на каждом мастере и как следствие регулярно случаются конфликты за IP - например падает ssh-соединение.
Вопрос - как вы настраиваете bare-metal кластера ? Возможно, вы видите явную ошибку.
По запросу могу приложить конфиги - вопрос что именно отправить.
Anonymous
И еще один вопрос - по документации и коду Service type: LoadBalancer - это только для облаков.
по коду в случае использования такого типа сервиса должна отдаваться ошибка: https://github.com/kubernetes/kubernetes/blob/a3ccea9d8743f2ff82e41b6c2af6dc2c41dc7b10/pkg/controller/service/service_controller.go#L226
У меня же почему-то такого типа сервисы успешно создаются.
Sash
Для начала не на мастера
Paul
Anonymous
Paul
Paul
или перед этим реверспрокси поставьте...
Anonymous
ну так что-то другое убрать с этих портов...
Я так и не понял в чём цель удерживания API кубера на 443 порту.
кубспрей может этот порт менять ?
Не понял про реверс-прокси.
Перед кластером кубера ставить внешний балансировщик ?
Anonymous
Вопрос-то в том, что с практикой указывания External-IP на интерфейсе kube-ipvs на всех нодах - у меня так и так будут конфликты этого IP
как этого избежать?
Nikolay
Anonymous
У меня на сервере 2 IP
LAN и WAN
Для kubespray я указываю LAN, чтобы сервисы висели снаружи на WAN IP
Но apiserver вешается по умолчанию на все IP
https://gist.github.com/bazzilio/938620e4221e8399842be4d67e41e1ed
Anonymous
я просто боюсь, что с metallb эта история повторится.
Anonymous
Nikolay
Anonymous
Nikolay
выше же назвал, metallb. https://metallb.universe.tf/
Anonymous
значит не понял про сетку, спасибо!
А без metallb никак нельзя ? Обязательно нужен внешний балансировщик ?
Anonymous
Давайте я еще раз объясню источник своих сомнений.
Сейчас у меня успешно создаются сервисы.
Проблема в том, что IP, который я использую, как External-IP вешается на kube-ipvs интерфейсы на всех нодах и возникают конфликты внутри сети по этому IP.
Поэтому я вовсе не уверен, что Metal LB решит эту проблему.
Andor
металлб даёт возможность сделать LoadBalancer
Andor
для kind: Service
Nikolay
IP сервиса не должен совпадать с IP ноды. Если вам нужен сервис на ip ноды - используйте nodeport
Gabriel
Что есть IP ноды? Если два интерфейса
Anonymous
Переформулирую, я правильно понимаю, что у меня 2 варианта - LoadBalancer (мне нужно самому создать такой балансировщик, или metallb) или юзать NodePort.
сейчас еще раз доку перечитал.
Может быть я должен просто Endpoint сделать ?
https://kubernetes.io/docs/concepts/services-networking/service/#services-without-selectors
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
Используйте отдельный адрес, который не слушают кубелеты
Anonymous
Я писал об этом, у вас IPVS?
Писали где ?
IPVS, да.
Глупый вопрос, но, возможно, есть быстрый ответ:
> Используйте отдельный адрес, который не слушают кубелеты
Кубспрей позволяет его задавать ?
Что порекомендуете для установки кластера ?
𝚔𝚟𝚊𝚙𝚜
Anonymous
𝚔𝚟𝚊𝚙𝚜
> Что порекомендуете для установки кластера ?
Я бы рекомендовал keepalived+haproxy в качестве балансироввщика, и kubeadm в вашем случае
𝚔𝚟𝚊𝚙𝚜
Anonymous
а что будет endpoint этой haproxy ?
𝚔𝚟𝚊𝚙𝚜
Еще есть вариант отключить stricarp на кубелетах --strict-arp=false тогда externalIP будt ет анонситься и без metallb, но делать это не совесем желательно, так как на каждый arp-запрос вы получите сразу три arp-ответа, то есть это имеет смысл только если у вас мало нод
Anonymous
𝚔𝚟𝚊𝚙𝚜
Но если есть возможность, то лучше keepalived, т.к. для балансировки api-server он все равно понадобится
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
В случае же MetalLB, его даже на интерфейс вешать не надо, он сам его анонсит
𝚔𝚟𝚊𝚙𝚜
без metallb его нужно будет повесить на тот же keepalived, например
𝚔𝚟𝚊𝚙𝚜
Anonymous
в целом-то понятно - если кубер будет задумчив - с metal lb - лишняя точка отказа.
но как тогда проксировать ingress я не понимаю, возможно, завтра нужно обдумать будет.
𝚔𝚟𝚊𝚙𝚜
Anonymous
то есть я проксирую запросы к api на 10.233.0.1
для ингресс выделяю 10.233.100.1
остальные запросы проксирую туда ?
Я верно понял архитектуру ?
А дальше каждый сервис занимается своим делом ?
Anonymous
𝚔𝚟𝚊𝚙𝚜
> А ingress ?
Под ingress отдельный IP в keepalived, нужен только IP, т.к. дальше kebe-proxy сам на ингресс отправит
𝚔𝚟𝚊𝚙𝚜
MetalLB имеет смысл если планируется много входных точек и много IP
𝚔𝚟𝚊𝚙𝚜
нет там nginx, там kube-proxy.
что бы запустился kube-proxy, нужен рабочий kubelet, что бы kubelet начал работать, ему нужно подключиться к api-server, так вот api-server всегда должен быть доступен, еще до момента когда все начало работать
𝚔𝚟𝚊𝚙𝚜
соответсвенно 10.233.0.1 будет роутить на api-серверы через haproxy
а 10.233.100.1 будет роутить в кластер через kube-proxy
Anonymous
Поэтому я еще задам отдельный вопрос - а у кого-то есть bare metal, установленный через kubespray ?
Можете опытом поделиться ?
Или лучше, как советует сообщество - поставить через kubeadm ?
𝚔𝚟𝚊𝚙𝚜