Иван
Прописал iptables -I FORWARD -j ACCEPT и трафик пошел
Иван
ЧЯДНТ?
MRY
Прописал iptables -I FORWARD -j ACCEPT и трафик пошел
В оф документации K8s при установке докера есть такой пункт. А если сделать iptables -nL то там можно увидеть множество цепочек и правил
Иван
Дык блин это странно. Я вижу что он должен в таблице нат промарчить пакет, а потом в таблице filter поместить его в цепочку KUBE-FORWARD где на него ACCEPT навесить
Vadim
Ходим в DIND по сети. Можно еще buildah + VFS storage driver, тогда контейнеру только CAP_SYS_ADMIN нужен, что получше чем —privileged. Но в buildah кеширования нет :(
вообще говоря, в buildah bud нет кэширования. Если билдить контейнеры более цивилизованно, то способов море - хош лейры, хош директория с кэшем
Alexey
Извините за детский вопрос, ситуация - я запустил етцд в 3х копиях, под одной диск абсолютно умер. Что делать?
Andor
Заводить на другом чтобы снова стало 3 ноды
Lanegan
Помогите разобраться с pv и pvc... Пытаюсь развернуть https://www.minio.io, но чуда не случается, каких-то конкретных ошибок при развертке не увидел. Грешу только на то, что как-то некоректно настроил сам pv (создавал по шаблону из доки)
Etki
в чем некорректное поведение-то хоть?
Andrei
Задам глупый вопрос: secrets в etcd лежат шифрованные? Или это нужно включать и смотреть в сторону EncryptionConfig?
Lanegan
в чем некорректное поведение-то хоть?
Поды не стартуют, ждут пока соберется контейнер
Etki
соберется контейнер?
Lanegan
Если я правильно понял, то pvc просто делает запрос на выделение ресурсов, значит у меня должен быть pv который доступен для всех. Не могу взять в толк как его правильно создать
Lanegan
соберется контейнер?
нет, в статусе "ContainerCreating"
Etki
Думаю, коммьюнити потребуется чуть больше комментариев по тому как запрашивается PV в поде
Andrei
не очень шифрованые
А кто имеет доступ к etcd? (Я правда понимаю что проверить легко, но быстрее спросить компетентных людей)
Andor
ну ты можешь сам попробовать подёргать етцд и увидишь все сикреты
Lanegan
Думаю, коммьюнити потребуется чуть больше комментариев по тому как запрашивается PV в поде
Да мне бы лучше теорио о том, как это работает, а проблему я потом сам решу
Etki
ну эм https://kubernetes.io/docs/concepts/storage/persistent-volumes/
Lanegan
Читаю, но не понимаю. Если у меня 4 ноды, мне надо на для каждой создать pv ? nfs: path: /tmp server: 172.17.0.2 Вот эта настройка заставляет так думать
Pavel
Задам глупый вопрос: secrets в etcd лежат шифрованные? Или это нужно включать и смотреть в сторону EncryptionConfig?
Шифрование сикретов можно включить. В последних релизах этот функционал вроде в бэте уже
G72K
Спасибо! А в GCE до etcd можно достучаться из контейнеров?
В кластерный etcd руками лучше не ходить. Ну и в GCE вроде нельзя
Alexey
Заводить на другом чтобы снова стало 3 ноды
то есть я просто подниму еще одну ноду с пустым диском, воткну в кластер и они сами засинкаются?
Andor
не обязательно
G72K
вообще говоря, в buildah bud нет кэширования. Если билдить контейнеры более цивилизованно, то способов море - хош лейры, хош директория с кэшем
Если я объявлю, что Dockerfile больше не работает, дергайте buildah из bash и комитьте слои руками меня линчуют
Andor
они могут не выкинуть дохлую ноду из списка, возможно надо будет их подпнуть
Alexey
ok
Alexey
спасибо
Andor
там автомагически это не происходит, надо немного ручных действий
Vadim
для убедительности можешь показать образ меньше на 30%
Anton
Кажется никому это не интересно
MRY
Народ дайте честный совет. K8s(3Master+12n Worker) на bareMetal поднял, спасибо за советы товарищу Let_Eat_Bee. Конечно же на BareMetal вылазиют траблы с балансировкой которые решаются через костыли. Теперь собственно вопрос. Изучать k8s буду и дальше, но как прогматичнее поступить если смотреть в сторону стабильности и запуска в прод - Оставаться с k8S и дапиливать его, Перейти на RH OpenShift, Rancher, или downgrade до Swarm. В данный момент ищу лучший вариант именно в плане качества работы и конечно же уменьшения танцев с бубном если уйдет в прод. ?
Andrei
В кластерный etcd руками лучше не ходить. Ну и в GCE вроде нельзя
Понятно что лучше, тут скорее вопрос компрометации данных
MRY
Попробуй OpenShift / Rancher, потом делай на чистом k8s если понадобится
Ранчер пробовал. Вроде ничего так. Мне понравилось. Но некоторые говорили мне что он якобы не стабилен и сыроват и его не стоит юзать даже в QA. За OpenShift не понятно. Кто-то говорит must have кто-то говорит что мусор.
MRY
Орять же мне важна стабильность работы. Пусть будет мало экстра фич, но продукт не упадет, просто от перезагрузки к примеру.
MRY
)))
MRY
твоя проблема с балансировкой в OpenShift решена, например. А вообще - think for youtself, don't be a sheep
Ты прав, как баран не надо быть, но многие уже за меня натыкались на грабли и их опыт может помоч в выборе.
Vadim
Ты прав, как баран не надо быть, но многие уже за меня натыкались на грабли и их опыт может помоч в выборе.
штабильность проще измерять в $/час которые ты готов выложить за поддержку - или очень много читать и думать
Й
на счёт ранчера скажу по опыту - фигня
Й
Конкретно у нас были постоянные проблемы с сетью
MRY
Ну как бы я продукт выучу, это не проблема, если конторе понравится продукт то покупка гарантирована.
Vlad
юзали ранчер пока дело дошло до перформанс тестов.. и на этом всё. и то, ранчер пользовались только чтоб поднять k8s за 10 минут.. для этой цели на данный момент юзаем kubespray - полёт нормальный, все довольны пока
Dmytro
для убедительности можешь показать образ меньше на 30%
меньше чем образ докера который прошел через docker squash? Ну и да, кому это интересно
Dmytro
OpenShift это по сути тот же k8s с доп фичам, доп багами и вечно отстающий на минимум одну версию
Dmytro
меньше, если юзать dnf install --root
ну ок, будет мой alpine контейнер на 8 метров сжатый а 6, ну все - надо весь development workflow ради этого переделать...
Aleksandr
kubectl taint nodes node1 key=value:NoSchedule- так должно работать
собственно говоря если добавить еще kubectl taint nodes node1 key-value:NoExecute - то текущие поды убиваются, а новые пытаются стартонуть судя по логу kubelet, но убиваются сразу же вероятно самим же kubelet'ом
Aleksandr
говна кусок...
MRY
говна кусок...
Сильное заявление
Aleksandr
cronjob'ы с 1.6 версии никак не починят, controller manager по памяти вытекает. еще и taint'ы не работают как в доке написано :)
Aleksandr
https://github.com/kubernetes/kubernetes/issues/52657
Dmytro
кронджобы я так понял работают кое-как, если вас точность времени запуска в +-20 минут устраивает
Dmytro
(по крайней мере такое писали в блоге страйпа об их опыте миграции на куб)
Alexey
Хз, бэкаплю бд кронджобой 1.8 - запускается точно по времени.
Dmytro
а сколько еще кронджоб? я так понял там дело в количестве и что еще в кластере происходит
Aleksandr
Если задисейблить крон и он не запустится 100 раз, то после включения он запускатся не будет совсем
Aleksandr
Нужно пересоздать кронджобу
Vadim
Как там решена балансировка?
Haproxy, конфиг генерируется и перезагружается без потери коннектов
G72K
собственно говоря если добавить еще kubectl taint nodes node1 key-value:NoExecute - то текущие поды убиваются, а новые пытаются стартонуть судя по логу kubelet, но убиваются сразу же вероятно самим же kubelet'ом
Вы уж определитесь, что вы вешаете. Сначала писали NoSchedule, теперь пишете NoExecute. Первое не даст новым подам придти на ноду, второе выкинет существующие с ноды
Aleksandr
Срабатывает только если вешать одновременно
G72K
Haproxy, конфиг генерируется и перезагружается без потери коннектов
Это любой ingress controller нынче может. Гораздо интереснее как трафик извне в кластер загнать
Aleksandr
И NoSchedule и noexecute
Aleksandr
Нет. С NoSchedule новые поды приходят на ноду, а по логике не должны
G72K
Нет. С NoSchedule новые поды приходят на ноду, а по логике не должны
Если не баг, то не должны. Если NoSchedule и правда не работает, то вашу нода пустой только на NoExecute держится. Все равно я вам не верю. Киньте плиз ямл ноды и пода на ней, который там быть не должен
Aleksandr
Утром скину, спать лег уже
Aleksandr
Ямл ноды - Kubectl describe node node1 имеется ввиду?
G72K
get node node1 -o yaml для надежности
Alexander
Доброе утро, есть кластер на виртуалке, запушен сервис с двумя инстансами, как организовать балансировку нагрузки и чтобы был доступ из вне по опред. ip? Стоит ли использовать MetalLB или обойтись Ingress?
𝚔𝚟𝚊𝚙𝚜
а большой кластер?
Andrey
если вам не нужна отказоустойчивость, то поднимайте ingress на том узле, где внешний ip