Alexey
Alexey
нужно слушать или 0.0.0.0. или подсеть твего cni
Andrii
Andrii
юзать 10.0.2.2 законно?
Andor
100.0.2.2 надо юзать
Maksim
100? Это же не нат сеть? каким макаром адрес стал 100?
Andor
да это так, с прошлой работы воспоминания
Alexey
юзать 10.0.2.2 законно?
зависит от твоего законодательства и религии.
ну тогда пробуй подключаться к 10.0.2.2:8000
Andrii
Alexey
только странно что 10,0,2,2, я думал что на 1 обычно хост заканчивается, ведь это какбы шлюз для подов других
Vadim
gitlab-gitlab-5dcd88959d-6nwr2 0/1 ContainerCreating 0 10m
у вас еще сам гитлаб не поднялся, похоже
Alexander
@vrutkovs да, не могу понять в чем проблема. Ошибки меняются в ходе replase RBAC для helm а
Vadim
Vlad
А зачем отключать rbac для gitlab-runner?
Vlad
Я запускал с rbac: https://gitlab.com/charts/charts.gitlab.io/blob/master/charts/gitlab-runner/values.yaml
## For RBAC support:
rbac:
create: true
MRY
Всем привет. Как работает механизм expose если я его делаю на внешний IP, данный внешний IP это IP балансировшика на котором слушается порт ? или как ? просто если у меня 3 воркера и соотвественно мне как то нужно балансить к примеру apache если один из воркеров откажет.
Roman
Сейчас футбол смотрел - там домклик от сбербанка. Это не те ребята, что давно на авитовском митапе были? Никто не знает?
Roman
MRY
Roman
ну это грусть тогда - придется сверху еще балансер ставить. какой-то вне куба
MRY
BareMetal
Есть варниш и haproxy для балансировки
MRY
тоесть сверху
Roman
haproxy разве не умеет ноду убирать если с ней проблема?
MRY
Я принимаю завпрос предположим на 80 на haproxy а она уже пересылает на воркера запрос. Вопрос в том как на воркере правильно заэкспозить
Roman
Далаете сервис типа NodePort
Vlad
или просто kubectl port-forward
MRY
ok
MRY
попробую
Dmytro
port-forward он же не балансит а в конкретный под сделает туннель
Dmytro
это вообще не о том
Sergey
80 порт только ингресом вроде
Sergey
Или сервис прикручивать к поду с типом loadbalancer
Sergey
Кстати а чем tcp-services у ингреса не устраивает?
Sergey
Правда можно ли туда 80 порт впихнуть хз, не пробовал
MRY
В итоге все так просто как оказалось, сделал expose как NodePort, на haproxy слушаю 80 посылаю по RR на 3 воркера 32123 (Динамически назначен), вроде как работает, апач отвечает.
Dmytro
проблемы будут потом когда надо больше одного сайта на 80 порту поднять и когда сервис надо будет пересоздать и порт поменяется с 32123 на что-то новое
MRY
Roman
Как бороться ???
Я не очень сварщик в bare metal, но в голову приходит схема с consul template. При expose сервиса должен срабатывать хук, который будет генерировать конфиг haproxy и делать reload
Dmytro
Или через хелм хуки накостылить что-то подобное, потому ведь и писали выше что лоадбалансер не в облаке это боль - какого-то коробочного решения нет
Roman
Все так. Если копнуть, то у haproxy кажется был REST API, а у kubernetes сервисы в ENV переменных сидят, можно их оттуда забирать. Но это все боль
Andrey
80 и 443 порты только daemon set могут слушать на ноде? Начал изучать k8s. поставил traefik. Классная прокся, пока нравится :)
Maksim
Andrey
Имел в виду в контексте ingress контроллера :) Пораскуриваю дальше deployment
Andrey
Нет. Не только.
И без внешнего load balancer? Bare metal инсталляция
Maksim
Andrey
Спасибо
Etki
Как бороться ???
1) прочитать доку
2) поставить руками конкретный nodeport
> If you want a specific port number, you can specify a value in the nodePort field, and the system will allocate you that port or else the API transaction will fail (i.e. you need to take care about possible port collisions yourself). The value you specify must be in the configured range for node ports.
Andrey
Я думаю, это плохая практика привязывать конкретный порт через nodePort. Потом надо вручную следить за коллизиями. Про "почитать доку" - это конечно хорошо, но конкретно этот вопрос ставит в ступор большинство новичков, которые начинают с bare metal без возможности ипользовать облачные LB
Mikhail [azalio]
В одной из компаний где я работал сеть подов была доступна из других сетей. При старте приложение анонсило себя в etcd, дальше с помощью confd формировался конфиг для nginx который уже был балансером. Сам nginx был не в кубере.
Tim
Я не очень понимаю, ingress controllers под эту задачу разве не подходят (nginx, haproxy, traefik)?
Andrey
если сеть делается вручную, то видимо нет
G72K
Как бороться ???
выставить сервис nginx ingress controller, прописать *.mydomain.com на ваши внешние haproxy и рулить именами сайтами через Ingress ресурсы внутри куба
Aleksandr
Кто-то использовал taints / tolerations? Добавил taint на ноду с NoSchedule, но поды все равно там шедулятся Хотя tolerations не прописаны еще
G72K
Aleksandr
Хочу сделать несколько нод где будут только cronjobs запускатся. Версия куба 1.8.10
Aleksandr
Та вот и я думаю что должно работать, но что-то не так)
𝚔𝚟𝚊𝚙𝚜
а как taint прописывал?
𝚔𝚟𝚊𝚙𝚜
kubectl taint nodes node1 key=value:NoSchedule- так должно работать
𝚔𝚟𝚊𝚙𝚜
А кто нибудь MetalLB использует?
Aleksandr
kubectl taint nodes node_name dedicated=cron:NoSchedule
Aleksandr
По describe видно что taint есть
neb0t
Тот же вопрос -после деплоя нужно пустить в лайв арр. В арр есть домен.
С композом - запускал нгинкс, на волюм ложил конфиг с прокси_пасс на внутренное имя контейнера с контентом.
Как быть с баре-метал? Понимаю что порт не выход. Сейчас род на агенте крутится у которого есть паблик ИР.
И забегая на перед - если я начну делать скейл - как принять новые поды в балансер и соответсвенно удалить в будущем, если нет нагрузки ?
neb0t
https://www.haproxy.com/blog/haproxy_ingress_controller_for_kubernetes/
?
𝚔𝚟𝚊𝚙𝚜
Ну я планирую romana-vip использовать, т.к. в целом работает весьма неплохо
Etki
𝚔𝚟𝚊𝚙𝚜
айпишник асигнится на baremetal ноду и перезжает вместе с подом, в случае чего
neb0t
@etkee полагаю что нет)
С композом я юзал конссул для рендера конфига для нгинс при скейле сервисов. Сейчас сервис доступный на порту агента (в сервисе нодеПорт).
neb0t
@kvaps romana-vip - а зачем городить еще что-то, если есть kube-dns встроеный?
Сервис дискавери уже зашит по умолчанию в куб. И думаю что в контексте одного пода я могу обращаться к контейрам внутри (с арр на дб и наоборот по лейблу). Или нет ?
𝚔𝚟𝚊𝚙𝚜
Внутри кластера да, но вот как организовать доступ снаружи - вопрос совсем другой
𝚔𝚟𝚊𝚙𝚜
romana-vip - нужен для external-ip
Etki