Andrey
это конечно же плохо)) а есть альтернативы? может есть чтото похожее на уровне namespace? я сходу правда не нагуглил(
Эээ, а как вы себе представляете нулевой даунтайм без выделения ресурсов на хотя бы один лишний экземпляр на короткое время?
Andor
Rainbow
можно по очереди выкидывать контейнеры и надеяться, что соседи не лягут.
Kirill
если выделять Ingress в отдельную ноду, для отказоустойчивости нужно несколько нод и между ними поднятый keepalived?
Семён
А ты уверен что хочешь возиться с keepalived ?
Семён
у тебя кластер где задеплоен?
Kirill
если я правильно понял, то если у меня упадет Ingress, то падает доступ к подам. Задеплоин в ВМ openstack
Семён
если on-premise - anycast VIP на, если облако - балансировщик от облака. Всё таргетаешь на ингресс-ноды
Семён
я у мамки архитектор
Kirill
хорошо твоей мамке
Kirill
радуется за тебя, наверное
G72K
Что же в этом плохого?
Хочется, чтобы оно само находило, запускать скрипт который генерирует списки Базел требует дисциплины, хуков, проверок или ещё чего нибудь, в то время как все привыкли к npm, maven, go build, cargo , которые "просто работают"
Alex
Может кто в курсе - установил kubernetes c Dashboard (ubuntu 16.04) - через localhost:8001 все работает - (netstat -lnpt) показывает tcp 0 0 127.0.0.1:8001 0.0.0.0:* LISTEN 13466/kubectl Если мне необходимо заходить в Dashboard (через веб-интерфейс) на другом пк который в этой же сети (пк между собой пингуються с этим все в порядке). Я так понимаю должно быть что то вроде tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 13466/kubectl В этом случае порт 8001 будет "слушаться" с любого ip - но как и где это прописать?
Rainbow
nodeport service сделать как вариант
Rainbow
вообще ходить стоит через kubectl port-forward
𝚔𝚟𝚊𝚙𝚜
если выделять Ingress в отдельную ноду, для отказоустойчивости нужно несколько нод и между ними поднятый keepalived?
Вот кстати недавно тестил MetalLB в этом плане, работает очень круто режиме L2. То есть externalIP анонсится на спикерах только с тех нод где запущен workload - это очень круто!
Alex
вообще ходить стоит через kubectl port-forward
Возможно - но как это прописать!
𝚔𝚟𝚊𝚙𝚜
То есть в твоём случае будет достаточно ингрес nodeSelector'ом к ноде прибить, и он будет анонситься правильно
Andrey
кстати, про metallb l2 и calico c "tunl0@NONE: <NOARP,UP,LOWER_UP>" оно должно работать?
𝚔𝚟𝚊𝚙𝚜
Не знаю, у меня не калико. Но недавно мы решали подобную проблему для IPVS https://github.com/kubernetes/kubernetes/pull/70530
𝚔𝚟𝚊𝚙𝚜
Полагаю что с этими опциями все заработает как надо
V
ребят а у helm есть Rename release а то надо сделать миграцию с одного namespace на другой и чтобы имя было такое ще
Dmitrii
Эээ, а как вы себе представляете нулевой даунтайм без выделения ресурсов на хотя бы один лишний экземпляр на короткое время?
Вы правы, и я себе и не представляю) я бы хотел выделить не ещё X ресурсов а всего X/4 это не так много... (в маштабах до 50 ядер) было бы круто если можно было бы запустить редеплой не всё сразу, а по порядку, или чтобы они ждали ресурсов для редеплоя и тд
Dmitrii
Это уже речь об операторе пошла
Да я читал) что он мне поможет, но решил спросить может есть альтернативные варианты) Спасибо!
Dmitrii
вам кидали ссылку на доку, можно указать сколько контейнеров за раз выкидывать.
Да, но у нас всего 4 реплики для которых это подойдёт, у остальных 20 там по одному поду запущено. как писали выше без простоя не обойтись
Andor
По одному инстансу?
Andor
Кажется вы сознательно отказались от бесшовного деплоя
Dmitrii
Кажется вы сознательно отказались от бесшовного деплоя
обясните, что вы имеете в виду? каким подходом вы деплоите?
Andor
Ну у тебя будет даунтайм при падении одного инстанса, потому что запросы будет некуда слать
Andrey
Ребят, а если в кубе нужны всякие сервисы типо redis'a, его daemonset'ом деплоить?
Rainbow
зачем?
Rainbow
deployment+service обращение по dns
Vadim
Ребят, а если в кубе нужны всякие сервисы типо redis'a, его daemonset'ом деплоить?
только если он тебе нужен на каждой ноде. Но лучше StatefulSet
Andrey
deployment+service обращение по dns
ну деплоймент это ж скорее для аппликух, с обновлениями и проч. А мне просто поднят 1 публичный образ с докерхаба и все.
Andrey
только если он тебе нужен на каждой ноде. Но лучше StatefulSet
не, мне нужен просто 1 инстанс. Без реплик и тд и тп.
Vadim
тогда временно Deployment подойдет
Rainbow
ReplicaSet скорее. Rolling update же не нужен
Rainbow
поднять под не вариант, он упадёт и все. ReplicaSet или Deployment, не важно. С одной репликой.
Andrey
оке, спасибо. Так и сделаю тогда.
Andrey
Какая разница
это был вопрос относительно бестпрактис, не более)
Andrey
так то я понимаю что там под капотом просто поды
Andor
Не вижу причин почему бы не делать одинаково
Andor
А для редиса есть операторы
Alex
Все таки смог запустить kuber не используя localhost используя команду kubectl proxy --address="172.16.193.191" -p 8001 --accept-hosts='^*$' - по сети запускаю Kubernetes Dashboard - все хорошо - для входа требуеться токен - вставляю токен который получаю из консоли командой kubectl get secret $(kubectl get serviceaccount dashboard -o jsonpath="{.secrets[0].name}") -o jsonpath="{.data.token}" | base64 --decode - но в панель не заходит - может кто либо проходил через подобное
𝚔𝚟𝚊𝚙𝚜
Кажется вы сознательно отказались от бесшовного деплоя
* Если spec.strategy.type: RollingUpdate то сначала будет создаваться новый pod, затем убиваться старый - даже если spec.replicas: 1. * Если spec.strategy.type: Recreate то сначала убьется старый под, затем создастя новый
Andor
не уверен что если у них replicas: 1, то они могут запустить более 1 инстанса одновременно
𝚔𝚟𝚊𝚙𝚜
для kind: Statefulset - это так, количество реплик никогда не может быть превышено, но для kind: Deployment - это поведение определяется через spec.strategy.type
Andor
я потому и написал "кажется"
𝚔𝚟𝚊𝚙𝚜
я просто внес ясность :)
Andor
кстати
Ascandar
для еtcd оператора бэкап и рестор только с амазона?
Andor
спасибо, ты всегда очень подробно комментируешь с упоминанием кучи нюансов
Andor
(не сарказм)
𝚔𝚟𝚊𝚙𝚜
ок)
Andrey
Ребят, еще такой вопрос. А есть какие-то универсальные DNS имена для сервисов, которые бы не зависели от namespace? Вот в доке говорится о my-svc.my-namespace.svc.cluster.local А существует ли какое нибудь DNS имя которое можно использовать без указания неймспейса(т.е. чтоб искал в текущем теймспейсе)?
𝚔𝚟𝚊𝚙𝚜
используй singlename
𝚔𝚟𝚊𝚙𝚜
то есть просто my-svc
Andrey
посмотри на /etc/resolv.conf в любом поде с dnsPolicy не Default
Andrey
Кажись нашел
Andrey
search default.svc.cluster.local svc.cluster.local cluster.local
Andrey
Но тут чот про неймспейс ни слова(
Andrey
А, все, теперь точно нашел. # cat /etc/resolv.conf search kube-public.svc.cluster.local svc.cluster.local cluster.local
Andrey
Да ладно search default.svc.cluster.local
Andrey
Спасибо!
Andrey
Да ладно search default.svc.cluster.local
Да, тупанул. Когда стартовал бизибокс, не указал неймспейс и он стартанул в default, а регулярка в глазах к этому была не готова)
Игорь
ууу, кто-то щас уйдет в бан=)
Andor
страна-то хоть какая?
Sergey
киньте ссылку на чатик с вакансиями ей)
Andrey
Kirill
Польша
Vadim
https://www.glassdoor.com/Reviews/Akvelon-Reviews-E357508.htm #язабан
Й
Всем привет! Если так сложилось, что придется тащить кластер постгреса в кубернетис, какое решение все же более стабильно на текущий момент?
Rainbow
Всем привет! Если так сложилось, что придется тащить кластер постгреса в кубернетис, какое решение все же более стабильно на текущий момент?
Я в принципе пару раз сталкивался, что если вытащить из розетки, то docker volume коцает редко, 2 раза за 2 года было. Вчера человек про такую проблему спрашивал.