Terry
или нажать в приложухе мобильной просто
Anatoliy
Ага. увидел, спасибо) Очень круто, не знал про такое)
Terry
Terry
как соловью
Terry
но мое мнение, есть мое мнение, ровно как и твое
Anton
это ж Terry, не нужно его кормить =)
G72K
Terry
l1njan
Terry
Denis
А у кого нибудь было что слетают лейблы с нод?
Igor
Ilya
Привет. Подскажите куда копать, что то не пойму, в чем проблема.
Разворачиваю кластер на aws c помощью kops. Через рандомное время рандомное количество нод переходят в статус NotReady. Иногда они восстанавливаются, иногда нет. Меня это, мягко говоря бесит, ибо нет никакой стабильности. Что делать, направте на путь истинный, пожалуйста.
Ilya
Само собой, по проблеме гуглил. Было подобное и у kops и у кубера в ишьюссах, но везде клянутся-божаться, что все починенно.
Забыл указать версии:
Kubernetes 1.8.6, kops 1.8.0
Logan
Logan
доступны ли мастера с нод? пинг, доступ к порту
Igor
ну надо, наверное, начать с kubectl describe node
Igor
там в 95% случаев скажут, в чем проблема
Ilya
Я там конечно смотрел, но не сильно помогло
Ilya
Maksim
Ну кончилось дисковое пространство
Салтыдык
Maksim
вторая строчка
Maksim
вторым этапом смотреть логи самого кублета
Салтыдык
в упор не вижу в предложении "kubelet имеет достаточно дискового пространства" что-то, что говорит, что место закончилось
Ilya
хотя да, во второй строчке указано отсутствие нехватки
Салтыдык
Ilya
да, не суть
Maksim
ТОгда надо лесть в логи самого кублета
Maksim
и таки да, он сообщил что диска ему хватает
Салтыдык
лол)
Ilya
хотя по статусу инстанс живой
Maksim
Ilya
еще бы выяснить, почему виснет))
Igor
кто сказал, что виснет? возможно, по ssh нужно коннектиться через bastion? неплохо было бы манифест копса еще посмотреть
Ilya
Кажется, вариант с нехваткой места может иметь места. Я установил node-volume-size=8, может ли это оказаться мало?
Ilya
По умолчанию, копс ставит 20, если не ошибаюсь
Anton
Нужно реализовать некий контроллер, который следит за тем, чтобы поды были объединены в группы. Если в описании деплоймента есть соответствующая аннотация с именем группы, под должен быть добавлен в эту группу при создании. При удалении пода он должен быть удален из группы. Каждый раз когда под добавляется или удаляется из группы, на всех остальных подах группы должна выполниться команда (в любом контейнере), которая обновит в соответствующем поде информацию о появившемся/исчезнувшем члене группы. Идентифицируется под его IP адресом.
В идеале надо, чтобы все поды группы получали такие нотификации:
1) Привет, я новый под, мой IP: <IP>
2) Прощайте, я ухожу, мой IP: <IP>
Какие варианты реализации можно рассмотреть?
Maksim
Нужно реализовать некий контроллер, который следит за тем, чтобы поды были объединены в группы. Если в описании деплоймента есть соответствующая аннотация с именем группы, под должен быть добавлен в эту группу при создании. При удалении пода он должен быть удален из группы. Каждый раз когда под добавляется или удаляется из группы, на всех остальных подах группы должна выполниться команда (в любом контейнере), которая обновит в соответствующем поде информацию о появившемся/исчезнувшем члене группы. Идентифицируется под его IP адресом.
В идеале надо, чтобы все поды группы получали такие нотификации:
1) Привет, я новый под, мой IP: <IP>
2) Прощайте, я ухожу, мой IP: <IP>
Какие варианты реализации можно рассмотреть?
1. Имхо Правельней смотреть на аннотации подов, а не деплоев.
Anton
ок, пусть будет аннотация пода
Maksim
Посмотри на цикл полда, там есть хуки, можно прикрутить скрипт, который будет постить инфу, при это извлекать группу из аннотация самого себя
Anton
а куда он ее будет постить например?
Maksim
https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/
Maksim
А куда должен?
Anton
нужно как-то уведомить остальных подов группы
Maksim
а за чем?
Maksim
какую цель ты преследуешь?
Anton
чтобы они добавили/вычеркнули этого пода из своего списка, все поды знают про членов группы
Maksim
а каков практический смысл группы?
Anton
они будут объединены в vxlan сеть
Anton
таких сетей может быть несколько
Anton
с разным набором подов
Maksim
опять же какой смысл?
Maksim
какова конечная цель использования vxlan
Anton
чтобы была возможность L2 роутинга
Maksim
Это понятно) Каков смысл разносить разные группы в разные vxlan
Anton
узловые поды между L2 сегментами будут реализовывать роутинг
Maksim
при том насколько я понимаю этот vxlan разнесён на две разные физики
Anton
что значит "раснесен на физики"?
Maksim
всмысле представлен на двух разных нодах
Anton
> узловые поды между L2 сегментами будут реализовывать роутинг
то есть один под может быть членом двух "групп"
Anton
Maksim
А calico weavenet и т.п. не позволяют тебе разрешить эту проблему?
Maksim
В той же калике вопос о представлении клиентов решён контроллером, а клиенты прилетают демонсетом
Maksim
Лично мне видится что администрировать группы должен контроллер, а под при старте/смерти сообщает об этом контроллеру
Anton
какую именно проблему, L2 роутинга или объединения подов в группы и реализации моей vxlan логики?
Maksim
ессено реализации твоей логики
Maksim
насколько я понимаю тебе нужна L2 видимость, при суловии что поды находятся на разных нодах.
Anton
да
Maksim
тот же flannel решает подобную задачу на L3
Maksim
ну вот и вопрос, не позволяют ли уже существующие програмные средства аля calico это сделать?
Maksim
OVS с GRE точно решает
Anton
caliсo тоже решает ее на L3, насколько мне известно
Maksim
OVS может-)
Maksim
Open Virtaul Switch
G72K
𝚔𝚟𝚊𝚙𝚜
Нужно реализовать некий контроллер, который следит за тем, чтобы поды были объединены в группы. Если в описании деплоймента есть соответствующая аннотация с именем группы, под должен быть добавлен в эту группу при создании. При удалении пода он должен быть удален из группы. Каждый раз когда под добавляется или удаляется из группы, на всех остальных подах группы должна выполниться команда (в любом контейнере), которая обновит в соответствующем поде информацию о появившемся/исчезнувшем члене группы. Идентифицируется под его IP адресом.
В идеале надо, чтобы все поды группы получали такие нотификации:
1) Привет, я новый под, мой IP: <IP>
2) Прощайте, я ухожу, мой IP: <IP>
Какие варианты реализации можно рассмотреть?
Засунуть kubectl внутрь пода, добавить к поду serviceAccount и реализовать задуманное.