Alexander
Прикольно)
Denis
Подскажите пожалуйста, есть ли какие-то тулзы или кейсы по мониторингу работы сети в кластере k8s? К примеру в случае факапа сетевого на одной ноде, я бы мог получить уведомление об этом. Если что CNI Calico
Alexander
Привет, после деплоя в кубер через CI gitlab получаю ошибку error: arguments in resource/name form must have a single resource and name сталкивался кто-то с таким? какие конфиги показать, куда смотреть?
Stefan
ebs не канает
Alexander
Могу подозревать что у вас манифест не валидный)
кластер от гугла, автоматом создавался гитлабом🤷‍♂️
Denis
кластер от гугла, автоматом создавался гитлабом🤷‍♂️
А что деплоите в CI? Какой-то k8s манифест?
Alexander
хельм чарт
bama^boy
ebs не канает
а шарить efs с instance не вариант?
Stefan
а шарить efs с instance не вариант?
не уверен мне нужно чтоб гарантировано все три пода смотрели в одно место
bama^boy
не уверен мне нужно чтоб гарантировано все три пода смотрели в одно место
ну так это реализуемо, нужно просто убедиться, что на всех инстах примаунчен efs в одно и то же место, а в подах проставлен правильный путь до него
Stefan
ну так это реализуемо, нужно просто убедиться, что на всех инстах примаунчен efs в одно и то же место, а в подах проставлен правильный путь до него
так если их 3, то получается допустим два пода будут смотреть в шару на одной ноде, а третий на другой ноде
Stefan
а блиать
Stefan
попробую и так, спасибо за совет
Stefan
и это получается обычным hostPath им указывать же верно?
bama^boy
ага
Сергей
кто поможет найти траблу? Failed to install app mariadb. Error: UPGRADE FAILED: YAML parse error on mariadb/templates/master-statefulset.yaml: error converting YAML to JSON: yaml: line 34: did not find expected key
Семён
у тебя кусок темплейта в ямле
Сергей
у тебя кусок темплейта в ямле
у меня вот код defaultImage: true image.repository: bitnami/mariadb image.tag: 10.1.36-debian-9 metrics.image: prom/mysqld-exporter metrics.imageTag: v0.10.0 db.user: admin db.password: db.name: my_database master.persistence.enabled: 'false' master.persistence.size: 8Gi master.persistence.storageClass: "" replication.enabled: true slave.replicas: '2' slave.persistence.enabled: 'false' slave.persistence.size: 8Gi slave.persistence.storageClass: "" service.type: NodePort service.nodePort.master: "" service.nodePort.slave: "" metrics.enabled: 'false' master.affinity: ??? как правильно написать master.affinity ?
Семён
поидее лейбл ноды на которую мастер должен приехать
Сергей
написано что там должен быть {}, то есть объект
Сергей
как объект написать тут)
Сергей
поидее лейбл ноды на которую мастер должен приехать
вот описание в доках master.affinity Master affinity (in addition to master.antiAffinity when set) {}
Семён
просто попробуй туда лейбл вписать. дальше уже не подскажу.
Сергей
просто попробуй туда лейбл вписать. дальше уже не подскажу.
уже пол дня не могу указать на какой ноде запускать...(((
Kirill
Насколько нужен br_netfilter для, напрмер, Calico?
Сергей
Как написать на какие ноды устанавливать поды? я уже весь день убил на эту ху.ню
Mik
Привет всем! кто юзает https://www.spinnaker.io/, выскажите имхо есть смысл его использовать для деплоя в куберы в гугл?
Alexey
Как написать на какие ноды устанавливать поды? я уже весь день убил на эту ху.ню
на ноды повесь метки (labels), далее метки используй в nodeselector
Сергей
на ноды повесь метки (labels), далее метки используй в nodeselector
как правильно записать это в nodeselector? у меня не срабатывает
Alexey
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
Сергей
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
я уже изучил 10 раз эту доку, у меня есть answer.yml defaultImage: true image.repository: bitnami/mariadb image.tag: 10.1.36-debian-9 metrics.image: prom/mysqld-exporter metrics.imageTag: v0.10.0 db.user: admin db.password: db.name: my_database master.persistence.enabled: true master.persistence.size: 60Gi master.persistence.storageClass: nfs-provisioner replication.enabled: true slave.replicas: '1' slave.persistence.enabled: true slave.persistence.size: 60Gi slave.persistence.storageClass: nfs-provisioner service.type: ClusterIP service.nodePort.master: "" service.nodePort.slave: "" metrics.enabled: 'false' отсюда парсится в statefulset и на этом этапе ошибку при парсинге выдает
Alexey
ну смотри свой парсер, при чем тут куб то
Сергей
ну смотри свой парсер, при чем тут куб то
я не понимаю какой он формат просит
Alexey
ааа это. У тебя полиси для мастера.
Alexey
сек
Alexey
tolerations: - key: "node-role.kubernetes.io/master" operator: "Exists" effect: "NoSchedule"
Alexey
добавь, тогда даст на мастер установить. Ругается что у тебя запрет на установку в мастера
Gabriel
А подскажите пожалуйста, откуда берется переменная KUBERNETES_SERVICE_PORT/KUBERNETES_SERVICE_PORT_HTTPS? Кластер разворачивается кубеспреем, и secure порт api сервера 6443, но при этом поднимается kube-proxy, который проксирует с 443 на 6443.
G72K
Переходите на CoreDNS они сказали нам, выкиньте ваш древний dnsmasq и спите спокойно. CoreDNS GA , вам не о чем беспокоиться : https://github.com/zalando-incubator/kubernetes-on-aws/blob/dev/docs/postmortems/jan-2019-dns-outage.md
Oleg
Ну и это... рбак же врублен на всех аписерверах?
Oleg
Переходите на CoreDNS они сказали нам, выкиньте ваш древний dnsmasq и спите спокойно. CoreDNS GA , вам не о чем беспокоиться : https://github.com/zalando-incubator/kubernetes-on-aws/blob/dev/docs/postmortems/jan-2019-dns-outage.md
ну тут такое... сами не следили за потреблением памяти и прозевали вспышку. а потом лавина - падает одна реплика, трафик уходит на другие, они тоже падают и так по цепочке.
Oleg
мы с таким на своих микросервисах сталкивались, мониторинг и алертинг важны
Oleg
корднс на тестовом стенде только вертится, но собираемся переходить на него
Oleg
но все равно нужно мониторить, пофиг что. у них пинус на графиках, а они руками дебажат, что же произошло. хотя одного алерта от прометея хватило бы
Andrey
Вот поэтому и надо кэшировать на ноде все запросы.
G72K
корднс на тестовом стенде только вертится, но собираемся переходить на него
Есть вещи с которыми не шутят. Ничего не мешало им заменить в официальных ямлах kube-dns на CoreDNS , при этом оставить проверенный и надёжный dnsmasq на входе. И уже следующим циклом стабилизации избавиться от него, если гошечка чудодейственная действительно не подведёт.
Oleg
понятно, что там тоже не дебили этим делом занимаются, и обычно такие аварии - стечение не одного фактора
Oleg
другим же нужно выводы делать
Oleg
мы унесли мониторинг из кластера, одной из причин была как раз потенциальная ситуация остаться в случае пиздеца еще из без мониторинга
G72K
ipvs - GA, затем уже отлавливают косяки с UDP сервисами. CSI - GA, затем уже выясняют что любой CSI драйвер должен либо ломать куб, либо нарушать CSI спеку. CoreDNS - GA, потом уже сидят и обсуждают "надо бы нам резолвер на каждой ноде иметь, ибо надёжность упала [после выпиливания dnsmasq]. Я не думаю, что там дебилы, но что-то явно не так с этими GA релизами.
G72K
Погоди, к чему ты? Ты "за" dnsmasq, потому что там memory footprint в разы меньше для кэширования?
Я за рабочий DNS. dnsmasq тупой как пробка или хитро настроенный unbound или неважно что, но прикрыть чем то проверенным все эти новомодные аддоны просто необходимо . У них было на руках хорошее надёжное решение, они его поломали, наверное потому что dnsmasq не в CNCF
G72K
Просто на пустом месте ухудшили качество жизни людям
G72K
Ибо что они скажут, то все установщики куба к себе тянут ибо "официальная рекомендация обновилась, надо соответствовать"
G72K
Как бы Zalando помог dnsmasq? Или я что-то упускаю в их изменениях в инфре?
Он бы шторм ДНС запросов прокешировал и не поперхнулся
Andrey
Он бы шторм ДНС запросов прокешировал и не поперхнулся
У них dnsmasq на каждой ноде стоял? А у CoreDNS проблемы с ресурсами при кэшировании? Потому что в CoreDNS же тоже оно есть.
Andrey
У них стоял официальный CoreDNS , который бодро наебнулся чуть газку поддали
Я тебя понял. Надо тоже стресс-тесты погонять, значит.
Oleg
Он бы шторм ДНС запросов прокешировал и не поперхнулся
не факт. если бы стоял микролимит по памяти, как и на корднс, то могли бы так же обосраться
G72K
не факт. если бы стоял микролимит по памяти, как и на корднс, то могли бы так же обосраться
Шансов остаться в живых явно побольше . Там проблема из бажной nodejs вылезла, оно резолвило одни и те же днс адреса много много раз, днсмаск ходил бы раз в TTL в CoreDNS и они вообще бы не знали что проблема есть
Oleg
короче, может меня неправильно поняли, но я не за/против корднс или днсмаск а за мониторинг любого говна
Oleg
к тому, что и днсмаск можно сломать, как и хрен сдуру
Andrey
Тем что коду CoreDNS 2 года, а dnsmasq 12
Но CoreDNS — это cloud-native. Чем парируешь?
G72K
Но CoreDNS — это cloud-native. Чем парируешь?
Не буду парировать, промолчу