Max
жесть)
Max
я думал есть что-то готовое)
G72K
я думал есть что-то готовое)
Говорят есть spinnaker , но он страшный на вид
Max
Говорят есть spinnaker , но он страшный на вид
хм, а для небольших деплойментов maxUnavailable: 0% и maxSurge: 100% сработают?
Vadim
http://brandon.dimcheff.com/2018/02/rainbow-deploys-with-kubernetes/
Max
Так места нет для еще 50 подов же
ну вот я и спросил "для небольших"
Max
допустим 3 пода
Max
оно создаст 3 новых и сразу же три старых удалит, верно?
G72K
Вобщеем если хочется готового, надо ингрес контроллер на основе чего-то что умеет drain и умеет понять кому какому поду делать, а какому не делать. Что нибудь на основе haproxy, nginx коммерческого или envoy имеет шансы на успех, возможно с применением средневековой хирургии
G72K
А вообще лучше забить, когда все отваливается, переподключиться по пять раз и рассинхронизируется это называется cloud native и так сейчас все живут
Max
а ну раз так модно, то пойду пить свой раф
Max
всем пока
Vladislav
Kubernetes. The connection to the server 172.11.13.127:6443 was refused - did you specify the right host or port? Кто сталкивался ? Перезагрузил сервера и получил вот это... Решения из Инета не помогают...
Tadeusz
iptables?
Yury
а айпи тот же остался?
Vladislav
iptables?
Проверял. Добавлял порты. Останавливал фаервол. Прошулся по инструкции https://medium.com/@texasdave2/troubleshoot-kubectl-connection-refused-6f5445a396ed
Vladislav
Не помогло. Некогда было - пересоздал кластер...
Vladislav
а айпи тот же остался?
Они поменялись после того как облако потушило пашины. Но я изменил IP в hosts. Не помогло. Банально telnet на 6443 не работал...
Vladislav
Установить CNI сразу два. Нужно один удалить. Например Weave... Как это сделать ?
Vladislav
Просто остановить поды Weave ?
UglyKoyote
Хау народ продвинутый и скиловый. Вопрос. Виртуал бокс. Centos7, Кубер+етцд поднят на виртуалках, поды подняты, статус компонент - ок. Поднимаю контейнер с бузибоксом. Сетевой интерфейс поднимается, адрес выделяется, inet 10.244.2.2/24. Пытаюсь для начала пинговать поды coredns-* - фига в ответ. физические интейфейсы в то же время пингуются, firewall настроен. Или я настолько валенок, что не понимаю для чего нужна оверлей сеть в данном случае? У меня просто сложилось понимание такое, что вот как раз таки внутри этой сети поды должны всегда друг друга видеть ну или хотя бы попингуй ходить должен
Slach
это https://www.youtube.com/watch?v=E6H4bgJ3Z6c ?
да =) лажа там в общем папка helm в основном репозитории и то больше раскажет
UglyKoyote
Поднял сейчас "хелловорлд", сделал дескрайб Labels: app=helloworld Annotations: <none> Status: Running IP: 10.244.1.2 Пинг с бузибокса уходит в никуда / # ping 10.244.1.2 kubectl logs %name% - выдает ожидаемый результат работы скрипта
Алексей
Всем привет. Подскажите, пожалуйста, что делать с hostPort, если я хочу на одном кластере держать 2 условно одинаковых окружения в разных namespaces
Алексей
С hostpath вроде понятно - он не нужен
UglyKoyote
Пингуй не поды, А сервисы к подам
то есть без сервиса никак. я понял, спасибо
Алексей
Заведи 2 вип ip на нодах и настрой ingress на этих namespace
Можно доку какую-нибудь или как это называется хотя бы?
UglyKoyote
тю, второе не мне))
ᴅⁱᵐⁱᴅʳ0ˡ
Example: Setting Up an Ingress Controller on a Cluster https://docs.cloud.oracle.com/iaas/Content/ContEng/Tasks/contengsettingupingresscontroller.htm
Алексей
Суть в том, что мы рулим уже не портами, а айпишниками, так?
ᴅⁱᵐⁱᴅʳ0ˡ
Example: Setting Up an Ingress Controller on a Cluster https://docs.cloud.oracle.com/iaas/Content/ContEng/Tasks/contengsettingupingresscontroller.htm
По дефолту ингрес настраивается на весь кластер, но можно настроить только на определенные ns
Алексей
и развесить по ингрессу на IP что ли?
ᴅⁱᵐⁱᴅʳ0ˡ
И на нодах настой сначала 2 vip ip с помощью keepalived
Алексей
Ок спасибо
Anonymous
Пингуй не поды, А сервисы к подам
А разве адрес сервиса можно пинговать?
Anonymous
А разве адрес сервиса можно пинговать?
Даже имя сервиса можно пинговать
Anonymous
Но ведь по идее кластерный ip виртуальный и по идее не должен пинговаться 🤔
Валентин
А разве адрес сервиса можно пинговать?
Можно, но никто не ответит, если ClusterIP используется.
Anonymous
Вот и я о том же, никто не ответит.
Oleg
Доброе утро, хочу создавать через прометеус оператор, который бы мониторил внешние сервера, и prometheus.yml через configmap загружать. Есть ли примеры на jsonnet?
Lucky SB
Просто остановить поды Weave ?
И на узлах удалить конфиг плагина где то в /etc/cni.conf.d
Lucky SB
Всем привет. Подскажите, пожалуйста, что делать с hostPort, если я хочу на одном кластере держать 2 условно одинаковых окружения в разных namespaces
Не использовать hostport, или иметь в кластере много узлов, чтобы под каждый инстанс был свой узел
Alexander
Доброе утро, хочу создавать через прометеус оператор, который бы мониторил внешние сервера, и prometheus.yml через configmap загружать. Есть ли примеры на jsonnet?
Если работаешь через Prom Op, то не надо prometheus.yml трогать вообще. Он сам его генерирует и обновляет. Твоя задача создавать CRD ServiceMonitor, Op их смотрит и добавляет в Prom
Alexander
Для внешних сервисов концепция такая. Создаешь для эскпортера Srv типа ExternalName. Навешиваешь на него Endpoints. Ну и ServiceMonitor на Srv экспортера как обычно
Just a baka
Если работаешь через Prom Op, то не надо prometheus.yml трогать вообще. Он сам его генерирует и обновляет. Твоя задача создавать CRD ServiceMonitor, Op их смотрит и добавляет в Prom
Можно тупой вопрос? Без явно созданного сервисмонитора аннотации prometheus.io/* вообще должны влиять на дискавери прометея или это так не работает?
Alexander
А тут тогда вопрос, что за "внешние сервера"? Если это другие Promы, то это одно и как ответил Вадим получается нельзя. Мой ответ про экспортеры, которые не в Кубе.
Oleg
да , они не в кубе, идея просто хостить прометус инстансы для мониторинга легаси систем , у которых отдають метрики через экспортеры.
Alexey
Ребят, хотелось бы совет услышать. Как кто доставляет секреты для деплоя, именно первичного подключения к api куба (в моем случае helm). То что там ваулт под к капотом у многих это понятно, но как бы отдавать секрет неймспейса в удобном виде и особо ваулт не палить, да что это можно было в гитлабе хранить. ЗЫ безопасников нет, просто хочется сделать по уму
Just a baka
Не знаю Prom Op настолько детально. Но пока в доках ничего про аннотации не видел. Только CRDs.
https://github.com/coreos/kube-prometheus/pull/16#issuecomment-305933103 нашел ответ - анноташки не поддерживаются оператором и не сильно рекомендуются ввиду хреновой гибкости
Alexander
Прояснили ситуацию
Roman
Приветули, подките пожалуйста что почитать по поводу автоматизации создания и удаления тестовых окружений, а то чет я как-то не правильно гуглю чтоли.
Oleg
такой вопрос для деплоймента в продакшн, ктото юзает https://skaffold.dev или https://www.weave.works/oss/flux/? я потестил особенно flux , поделитесь опытом пожалуйста
Михаил
Добро пожаловать в k8s-админы-староверы :)
я тут подумал - лучше я побуду старовером
NM
классиком 😉
Roman
Ansible ?
да нет, зачем, я просто хочу настроить деплоий своим чтоб они тестировали а потом удалялось автоматом через время или по команде
Roman
terraform?
да я не знаю, я вообще думал манифестами прост
Alexander
Тестовое окружение - понятие растяжимое. Одно дело еще один кубер поднять. И совсем другое namespace в существующем
Roman
дайте направление какое-нибудь, от чего оттолкнуться, какую-нибудь статью где реализация описана, мне хотябы логика нужна, типа примерно так создаем, примерно так удаляем
Roman
я пока не понимаю к чему привязываться для создания деплоев, к имени ветки или как еще, еще меня интересуют варианты удаления, а так же как разработчику передать информацию о том что его говнокод задеплоился и готов и куда ему там зайти чтобы прочекать
Alexander
Ну проще завязаться на имя ветки. Создать ns и Ingress на поддомен от нее. Задеплоить туда helm chart(s) и типа все. Тут основные проблемы не в кубере, а в инфраструктуре проекта. Типа как создать базу с нужными данными под эту ветку.
Roman
так вот, структурированной статьи по этому поводу никто не читал? я не смог найти
Roman
ладно структурированной, вообще никакой :)
Alexey
НЯЗ, нет устоявшейся методологии. В каждой организации своя специфика.
Roman
у меня специфика такая, что база не проблема, по сути основной вопрос с удалением старых "инстансов" и взаимодействие с разработчиком