Maksim
Дык они тут имя хоста задают, который в /etc/hostname фигурирует
Maksim
а не имя пода
Anton
похоже, не работает эта аннотация
Dmytro
а я думал чтобы внутри было одинаково (ну там для мониторинг тулзов типа ньюрелика)
Andrey
как знакомо) легаси архитекторы написали проект на кубере))
Dmytro
чтобы не было сотен хостов и тп
Dmytro
если имя пода будет фиксированное то никакой rolling deployment ведь не сможет работать, поэтому наверное сделали чтобы нельзя было менять
Anton
у стэйтфулсета же они фиксированные
Denis
Всем привет, есть проблема: [centos@bamboo ~]$ kubectl get pod shell-demo NAME READY STATUS RESTARTS AGE shell-demo 1/1 Running 0 59s [centos@bamboo ~]$ kubectl exec -it shell-demo -- /bin/bash Error from server: error dialing backend: dial tcp 172.27.39.28:10250: getsockopt: connection timed out Подскажите куда смотреть, в чем может быть проблема? Сеть flannel
Anton
возможно нода, на которую зашедулился под выпала из кластера
Dmytro
у statefulset не может быть rolling deployment
Anton
нужно посмотреть на какой ноде под, а потом сделать describe той ноды и изучить на предмет разных подозрительных вещей. Например, что внутренний айпишник ноды в ожидаемой подсети
Dmytro
но в целом наверное могли бы и сделать статическое имя пода если бы много людей просило, просто в таком случает не давать выставлять стратегию в rollingUpdate
Anton
ну да, там же есть "Recreate" при которой такая стратегия невозможна
Anton
мне кажется я где-то видел в манифесте правила для генераций частей имени пода, может в старых кубах каких-то
Dmytro
https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/#pod-templates можно сделать отдельно стоящий под с кастомным именем
Anton
у statefulset не может быть rolling deployment
The RollingUpdate update strategy implements automated, rolling update for the Pods in a StatefulSet. It is the default strategy when spec.updateStrategy is left unspecified. When a StatefulSet’s .spec.updateStrategy.type is set to RollingUpdate, the StatefulSet controller will delete and recreate each Pod in the StatefulSet. It will proceed in the same order as Pod termination (from the largest ordinal to the smallest), updating each Pod one at a time. It will wait until an updated Pod is Running and Ready prior to updating its predecessor.
Maksim
А в чём собственно вопрос?
Anton
у меня был вопрос как сделать, чтобы у пода всегда было одно имя
Anton
к примеру у меня стратегия Recreate и реплика всегда одна, ну и зачем имя пода постоянно меняется?
Салтыдык
да самое главное это финтифлюшки из коробки — скейлинг, вольюм-провизионинг и пр.
G72K
Кто-нибудь внедрял себе BOSH инструментарий?
У pivotal все с прибабахом, как и у joyent, но это от избытка ума. Люди которым доверяю пользовались BOSH и были счастливв
Stanislav
Т.е. в целом вещь не долбанутая и нормально работает?
G72K
Т.е. в целом вещь не долбанутая и нормально работает?
Чуть чуть слепой веры вначале не повредит
Stanislav
Ходить в отдельный docker через DOCKER_HOST по tcp
А если у меня в роли докер-хоста единственный kuber снаружи сети? И в туда так соотв-но, не смогу
Dmytro
к примеру у меня стратегия Recreate и реплика всегда одна, ну и зачем имя пода постоянно меняется?
а что это ломает что имя пода меняется? судя по тому что за 3 года это никто не реализовал - юзкейс не самый частый
G72K
А если у меня в роли докер-хоста единственный kuber снаружи сети? И в туда так соотв-но, не смогу
Нечего ходить в докер на хосте напрямую. Это все неучтенные ресурсы, проблемы с безопасностью
Stanislav
Ну вот ранчер например всю неучтенку тащит из апи докера и отображает в морде (но это не мой случай, да)
Dmytro
а в чем проблема дать gitlab-ci запускать еще один контейнер dind как сервис? уж явно лучше чем чтобы в хостовый докер демон все подряд шастали
G72K
Схема такая node1 - k8s-master, etcd node2 - k8s worker, etcd node3 - k8s worker, etcd node4 - k8s-master node5 - k8s-master Кластер из трех etcd стоит отдельным сервисом вне кубернета и докера. Эти три etcd сервера прописаны через запятую в --etcd-servers= На мастерах кубы стоит keepalived, а в конфигмапе kube-proxy прописан плавающий айпи. При падении любой ноды etcd кластера (даже не той которая совмещает роль мастера кубернета и etcd ноды) залипают отдельные ноды кубернета. При этом сам кластер etcd работоспособен и доступен на запись/чтение. А на проблемных нодах в логах апи-подов появляются сообщения о таймауте: E0305 13:32:57.551857 1 available_controller.go:295] v1beta1.admissionregistration.k8s.io failed with: Timeout: request did not complete within allowed duration E0305 13:32:57.552320 1 available_controller.go:295] v1beta1.certificates.k8s.io failed with: Timeout: request did not complete within allowed duration E0305 13:32:57.552437 1 available_controller.go:295] v1.autoscaling failed with: Timeout: request did not complete within allowed duration При этом "здоровые" ноды удаляют/разворачивают новые поды и нормально функционируют. Со временем такая проблема возникает на другой ноде, а на той что сбоила приходит в норму. И так пока не запустить все ноды etcd.
Известная бага, гуглите пул реквесты в куб по grpc 1.7.5 и оттуда до issue где пишут о зависаниях apiserver при рестарте etcd. Другой путь к той же баге - гуглить как ковбои из Monzo куб роняли
Dmytro
так в хостовый докер всех пускать тоже не очень секьюрно вроде?
G72K
у statefulset не может быть rolling deployment
Как это не может? Один погасил, один поднял, перешел к следующему
Etki
А dind нормально заработал вообще? Там же каждый шаг в сторону не очень хорошо работал, и не скзаать, что проблема прям в докере была.
G72K
у меня был вопрос как сделать, чтобы у пода всегда было одно имя
Если в spec.template.metadata.name имя записать сработает?
G72K
так в хостовый докер всех пускать тоже не очень секьюрно вроде?
Так и предлагаю ходить в отдельный докер по TCP и DOCKER_HOST
Dmytro
А dind нормально заработал вообще? Там же каждый шаг в сторону не очень хорошо работал, и не скзаать, что проблема прям в докере была.
вообще или внутри куб кластера? у нас gitlab ci runners на EC2, каждый билд запускает dind сервисом в дополнение к билд контейнеру - пока что вроде все работает но я всего штук 5 пайпалайнов сделал
Dmytro
Как это не может? Один погасил, один поднял, перешел к следующему
тут наверное вопрос в терминологии, в моем понимание это будет не rolling deployment/update потому что это не запуск новой версии пода не убивая старую, сначала старую убьют
G72K
да самое главное это финтифлюшки из коробки — скейлинг, вольюм-провизионинг и пр.
На последнем Kubecon был доклад с аргументированным подсчетом. По его модели получалось что если до 80K$ то выгоднее облако, где то с 100k$ уже железо
G72K
гляну, если есть в записи. Спс.
Записи были и экселька
Stanislav
а по каким словам выступление загуглить?
Салтыдык
агонь
G72K
а по каким словам выступление загуглить?
https://kccncna17.sched.com/mobile/#session:0406fde643ed68be700c5ffaaed060fa
Stanislav
Спасибо, его и правда тут постили
Stanislav
Вру, тут была ссылка на конфу, но на конкретное видео в другом канале было https://www.youtube.com/watch?v=NElaNl1Kwkw&feature=youtu.be
Dmytro
видео не смотрел, а по слайдам складывается ощущение что многое не учтено, ну и в любом случае это все выкладки либо для их приложения либо для вообще сферического в вакууме
Dmytro
лучше не привязываться к этой цифре в 100к
Max
тоже интересует
Max
у меня не проксирует на контейнеры websockets
Max
=(
Dmytro
товарищи, а кто что юзает для орекстрации деплоймента в разные кластеры? ну или хотя бы какой-то дашборд чтобы видеть в каком кластере продеплоена какая версия микросервиса
Dmytro
rancher
можешь посоветовать хорошую статью или доклад какой, где рассказывают как навернуть его на несколько кластеров и чтобы одно и то же приложение (микросервис) было продеплоено в разных кластерах и неймспейсах? чтобы самому не набивать шишек а по бумажке
Vlad
за такое деньги берут, бесплатно не встречал
Dmytro
rancher - почитал доку http://rancher.com/docs/rancher/v1.6/en/kubernetes/ нет ничего про добавление уже существующего кластера
Dmytro
за такое деньги берут, бесплатно не встречал
а за деньги как называется тулза?
Vlad
Это не тулза, это люди которые умеют
Dmytro
аа, ну значит я буду скоро одним из них
Dmytro
> In Rancher v2.0, you can import an existing, external installation of Kubernetes v1.8. :(
Dmytro
а что делать нищебродам на 1.5
Stanislav
2.0 еще не доделан
Stanislav
коллега буквально вчера гонял, плевался
Dmytro
1.5.7
Dmytro
и будем мигрировать на опенщит где вообще 1.5.1
Stanislav
Йэхх, а я вот тут встрял на спаривание GL с RBAC API v1.8
Stanislav
Все учетки, генерируемые при первичной заливке после старта кластера перестают быть пригодными для GLR
Dmytro
RBAC мне снится только в эротических снах 😃
Stanislav
GL походу тупо не может в RBAC. Так что розовые мечты могут обернуться в реальности садомазо действиями.