Rainbow
это как?
curl http://service.default.svc.local.cluster/shutdown делает внутри апы exit()
Andrey
а, ну это средствами приложения
Rainbow
да, кстати проще сделать liveness probe у приложения на кейс, когда нужен перезапуск
Rainbow
самый адекватный путь
Andrey
как вариант, можно сделать sidecar, который через 12 часов флаг выбрасывает (на файлуху, например), и на этот флаг уже делать liveness probe
Andrey
кажется, это даже в доках где-то есть
Rainbow
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-exec
spec:
containers:
- name: liveness
image: k8s.gcr.io/busybox
args:
- /bin/sh
- -c
- touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
livenessProbe:
exec:
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5
periodSeconds: 5
Rainbow
под-самоубийца
Rainbow
ща канал забанит роскомнадзор, инструкция же
девопёс
Andrey
Andrey
Andrey
тогда надо делать общий volume и liveness probe переносить на контейнер с аппликухой
Andrey
извращение, короче. я бы лучше сделал cronjob
Семён
бестпрактис которые мы заслужили
A
Коллеги, навернул сетку кубера по ходу, сделал iptables -F на месте. Теперь не с мастера, ни из подов, не могу даже по ип видеть другие поды. Но все ранинг... Как поправить. Калико переустановил, роды прокси ребутнул, что можно ещё сделать?
Rainbow
тоже самое выйдет, пару строк volume лишних.
Семён
Михаил
Andrey
cronjob тоже костыли
ну, если считать нормальным периодически рестартовать приложение, то норм
Семён
Rainbow
Семён
да, иногда компании абсолютно одинаковые
Семён
Rainbow
2 одинаковые это не 100% одинаковых xD
G72K
Добрый совет: в каждом кластере делайте свой podCIDR непересекающийся с другими.
Михаил
Nik
Всем IPv6 в этом чати
кстати, есть готовые решения что бы поднять ipv6 внутри кластера, и на входе выходе транслировать его в ipv4?
G72K
И вот почти наверняка надо делать свой .cluster.local суффикс. Например .cluster-$name.local (подозреваю, что .local DNS зона неспроста, наверняка в каком-нибудь RFC из восмедисятых объяснено).
Andrey
IPv6 в кубенях вроде же еще далек от стабильности?
A
G72K
Ещё добрый совет (которому сам пока не следую, но который стал очевиден вовремя запускания карандашей в потолок): если используете letsencrypt, не используйте один registered domain (типа mycorp.com) на всех , т.е. никаких dev.mycorp.com , qa.mycorp.com , потому что если ваши скрипты взбесятся и навыпускают кучу сертификатов, вы не сможете обновить свои прод сертификаты из-за лимитов.
G72K
G72K
Чего там нет, так это dual stack :)
Andrey
G72K
Ещё добрый совет (которому сам пока не следую, но который стал очевиден вовремя запускания карандашей в потолок): если используете letsencrypt, не используйте один registered domain (типа mycorp.com) на всех , т.е. никаких dev.mycorp.com , qa.mycorp.com , потому что если ваши скрипты взбесятся и навыпускают кучу сертификатов, вы не сможете обновить свои прод сертификаты из-за лимитов.
А нет, все ок, совет отменяется: To make sure you can always renew your certificates when you need to, we have a Renewal Exemption to the Certificates per Registered Domain limit. Even if you’ve hit the limit for the week, you can still issue new certificates that count as renewals. An issuance request counts as a renewal if it contains the exact same set of hostnames as a previously issued certificate.
Andrey
G72K
И какой суффикс у вас?
Andrey
ммм
Vadim
не боитесь что это станет валидным root-level доменом?
G72K
Публичный? Если суффикс сделать публичным и не использовать неймспейс на каждый деплой, то можно сертификаты для внутрикластера заиметь через letsencrypt минимумом усилий. Тогда можно в ingress использовать те же имена что и в service и наступит нирвана : приложения как внутри так и снаружи доступны по одним и тем же именам. Мммм.
Rainbow
Vadim
G72K
G72K
так будет немного странный svc поддомен везде, нет?
Да будет. Для людей можно приятное имя навесить на ingress. А вот для приложение-приложение останутся странные, но унифицированные. Например весь oidc заработает сразу - оно в well-known возвращает URL по которым ходить и вот они если внутренние то не работает для внешних или если внешние , то для внутренних приложений. Git LFS тоже починится и вообще куча костылей уйдет
Andrey
Andrey
кто работал с EKS, у вас там port-forward работал? У меня выдаёт error upgrading connection: error dialing backend
Andrey
разобрался. В security group для controlplane не был разрешён исходящий трафик
Даня
Andrey
ага
Даня
а
Даня
таместь момент))
Даня
если группа создана тераформом, то у нее нет прав на віход в мир
Даня
только дописівать и присваивать правило
Andrey
вообще в https://www.terraform.io/docs/providers/aws/guides/eks-getting-started.html#eks-master-cluster-security-group этот момент учитывается, но я подумал: "зачем egress для controlplane?", и не стал копировать. И вот всё работало, пока helm не поставил, а он через port-forward работает, который в свою очередь инициирует коннект от апи до кубелета на ноде
Vitaliy
Всем привет! Подскажи пожалуйста а какой нетворк аддон лучше всего использовать на AWS инстанции?
Andrey
у них свой cni
Andrey
поду выделяет IP из подсети в VPC и прибивает как secondary IP к интерфейсу на ноде
Vitaliy
Тут Calico https://github.com/aws/amazon-vpc-cni-k8s
Andrey
позволяет делать балансировку напрямую на pod IP, как cloud-native LB в гугле (только в гугле он ещё бета)
A
Какие интерфейсы вообще должны быть по команде ifconfig, думаю что у меня их меньше чем долго быть для работы. Все поды с мастер ноды на работаю, с сетью кюу них проблема. Как мне пересоздать необходимые интерфейсы?
Vitaliy
Спасибо! Сейчас поставлю попробую
A
Кажется виланы должны быть как минимум в интерфейсах?
Oleg
Всем привет!
k8s предоставляет какой-то способ общения между подами, скажем под А опубликолвал метод, а под В смог этот метод вызвать.
или нужно что-то доп. запускать типа кролика?
A
Может cni как-то слетело, куда хоть копать, вообще не понимаю, подскажите, пожалуйста, сетевые знатоки...
A
A
Калико калико не пережил перезапуск ноды, поставил обратно фланел и все завелось
A
Чего за фигня не понятно
Rainbow