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
тогда надо делать общий volume и liveness probe переносить на контейнер с аппликухой
Andrey
извращение, короче. я бы лучше сделал cronjob
Семён
бестпрактис которые мы заслужили
A
Коллеги, навернул сетку кубера по ходу, сделал iptables -F на месте. Теперь не с мастера, ни из подов, не могу даже по ип видеть другие поды. Но все ранинг... Как поправить. Калико переустановил, роды прокси ребутнул, что можно ещё сделать?
Rainbow
тоже самое выйдет, пару строк volume лишних.
Семён
Rainbow
бестпрактис которые мы заслужили
кривым приложением кривые костыли
Семён
кривым приложением кривые костыли
кто-то же должен рвать этот порочный круг ?
Rainbow
кто-то же должен рвать этот порочный круг ?
компании разные. Я у себя пойду отпинаю разрабов или сам допишу, а в компании побольше с бюрокротией и тп проще так.
Andrey
cronjob тоже костыли
ну, если считать нормальным периодически рестартовать приложение, то норм
Семён
компании разные. Я у себя пойду отпинаю разрабов или сам допишу, а в компании побольше с бюрокротией и тп проще так.
кстати не всегда. У оперейшенс тоже могут быть требования к качеству продуктов которые они должны поддерживать.
Семён
да, иногда компании абсолютно одинаковые
Семён
Rainbow
2 одинаковые это не 100% одинаковых xD
G72K
Добрый совет: в каждом кластере делайте свой podCIDR непересекающийся с другими.
Nik
Всем IPv6 в этом чати
кстати, есть готовые решения что бы поднять ipv6 внутри кластера, и на входе выходе транслировать его в ipv4?
G72K
И вот почти наверняка надо делать свой .cluster.local суффикс. Например .cluster-$name.local (подозреваю, что .local DNS зона неспроста, наверняка в каком-нибудь RFC из восмедисятых объяснено).
Andrey
IPv6 в кубенях вроде же еще далек от стабильности?
G72K
Ещё добрый совет (которому сам пока не следую, но который стал очевиден вовремя запускания карандашей в потолок): если используете letsencrypt, не используйте один registered domain (типа mycorp.com) на всех , т.е. никаких dev.mycorp.com , qa.mycorp.com , потому что если ваши скрипты взбесятся и навыпускают кучу сертификатов, вы не сможете обновить свои прод сертификаты из-за лимитов.
G72K
IPv6 в кубенях вроде же еще далек от стабильности?
Все там готово, на стенде запустились само
G72K
Чего там нет, так это dual stack :)
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.
G72K
https://tools.ietf.org/html/rfc6762
Что то мне кажется kube-dns ни капли не avahi какой-нибудь :)
Andrey
Что то мне кажется kube-dns ни капли не avahi какой-нибудь :)
Вот именно, я от греха подальше от .local отказался
G72K
И какой суффикс у вас?
Andrey
И какой суффикс у вас?
Первые три буквы названия конторы
Andrey
ммм
Vadim
не боитесь что это станет валидным root-level доменом?
Andrey
не боитесь что это станет валидным root-level доменом?
В случае чего это дело вполне поправимое, хотя такое теоретически возможно
G72K
Публичный? Если суффикс сделать публичным и не использовать неймспейс на каждый деплой, то можно сертификаты для внутрикластера заиметь через letsencrypt минимумом усилий. Тогда можно в ingress использовать те же имена что и в service и наступит нирвана : приложения как внутри так и снаружи доступны по одним и тем же именам. Мммм.
G72K
mycorpdev.com завожу домены всегда
Обожглись когда-то?
G72K
так будет немного странный svc поддомен везде, нет?
Да будет. Для людей можно приятное имя навесить на ingress. А вот для приложение-приложение останутся странные, но унифицированные. Например весь oidc заработает сразу - оно в well-known возвращает URL по которым ходить и вот они если внутренние то не работает для внешних или если внешние , то для внутренних приложений. Git LFS тоже починится и вообще куча костылей уйдет
Anton
ща канал забанит роскомнадзор, инструкция же
я вас огорчу, он его уже полгода назад забанил
G72K
В случае чего это дело вполне поправимое, хотя такое теоретически возможно
Мне кажется много народу с .dev погорело, когда Гугл его зарегистрировал и добавил в браузеры как SSL only :)
Rainbow
Обожглись когда-то?
да не, так аккуратней выходит. Может поэтому и не напарывался.
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
Чего за фигня не понятно
V
Если вам нужна очередь, то проще будет nats взять. А так да, вопрос странный.
вы в проде используете? amqp поддерживает ? можно ли обьективно сравнить его с rabbitmq
Rainbow
вы в проде используете? amqp поддерживает ? можно ли обьективно сравнить его с rabbitmq
объективно нельзя. Rabbitmq жутко кастомизируемая настройка каналов и тп. тут pub/sub и очереди. Есть nats streaming сверху, который уже что-то умеет. если вам только шина для общения нужна, то nats хорош. Легкое решение.