Mikhail [azalio]
Ок, попробую так. Возможно просто делит одного пода поможет
Maksim
если удалит один под, только удалённый под и запустится на одной из новых нод
Maksim
старые останутся на своих местах
Mikhail [azalio]
Ну да, но хотелось удобств :)
Maksim
ну нет livemigration механизма для контейнеров в принцепе
Maksim
так что мигрировать под может только через свою смерть
Maksim
Логично что Кубер не должен убивать Под просто потому что
Oleg
Можно кластер на одну железку поставить?
Maksim
а какой же это тогда кластер?)
Oleg
Куберовый
Maksim
мм нет)
Maksim
ну всякие там мастер компоненты и кубелет запустить на одной машине можно
Vik
Всем Дратути. Гоняет ли тут кто кафку пол кубером?
Vik
Витя Гамов, подкаст Разбор Полетов, SA в Confluent
Mikhail [azalio]
Логично что Кубер не должен убивать Под просто потому что
Я не про лайв миргейшен. Меня устроит через смерть пода. Ну и да, я это могу реализовать сам, думал вдруг уже есть, чего зря писать.
Oleg
ну всякие там мастер компоненты и кубелет запустить на одной машине можно
ну то есть можно на одной железке запустить etcd, kube-master и kube-node?
Oleg
супер, спс
Anonymous
https://techcrunch.com/2017/10/17/docker-gives-into-invevitable-and-offers-native-kubernetes-support/?ncid=rss
Anonymous
как раз CRI-O зарелизился
а как оно лучше по сравнению с обычным подходом?
Logan
как минимум в нем нет такого впечатляющего количества глюков. Судя по историям тех, кто внедрил докер в прод – попытка обновления докера напоминает ремонт самолета в полете. Одно починил – другое отвалилось
Logan
как там оверлей2, тар починили в нем?
Oleg
поставил через kubespray кластер на одну железку. Это нормально что ядра что-то молотят по дефолту?
Oleg
bebebe
ну после плейбуки еще некоторое время требуется на шедулинг и запуск подов
Oleg
по-ходу это нормальное состояние
Oleg
не, не нормальное. проблема с днс была
Oleg
Oleg
вот нормальное
Ivan
Скажите, как мне рассовать существующие поды по новым машинам? Было 3 старых, стало 17. Мне надо теперь их равномерно размазать. Что-то хорошее и светлое в голову не приходит, только ручная работа.
а если перевести старые ноды в режим обслуживания? не переедут ли все инстансы с них на новые ноды? а если нет - то увеличить кол-во реплик - новые должны создаться на новых нодах. затем уменьшить кол-во реплик - по идее лишние должны удалиться со старых нод (т.к. они в режиме обслуживания). а вообще интересно)) если не трудно, отпишитесь о результате экспериментов)))
G72K
https://github.com/kubernetes/contrib/tree/master/rescheduler
Или вот скорее: https://github.com/kubernetes-incubator/descheduler
Ivan
а расскажите мне пожалуйста в двух словах такую вещь... вот я хочу запилить мастер-компоненты кубернета в сам кубернет, чтобы при падении ноды, на которой они находились, они сами средствами кубера поднялись на другой ноде. но, я так подозреваю, что если упадёт нода с апи-сервером, то некому будет дать команду на деплой самого апи-сервера на другой ноде... я правильно понимаю?
Anonymous
Правильно
Владимир
А на свежей установке:
Владимир
kubectl describe storageclass default Error from server (NotFound): storageclasses.storage.k8s.io "default" not found это нормально?
Anonymous
Без него сервисы будут работать
Ivan
В общем лучше сделать 3 мастера сразу. Падение мастера не такой уж и страх
а что нужно продублировать? апи-сервера достаточно будет? или шедулер и контроллер-менеджер тоже лучше сделать в нескольких экземплярах?
Anonymous
держи https://kubernetes.io/docs/admin/high-availability/
Ivan
Спасибо!
Volodymyr
делаю нагрузоное, микросервисы, синхронный REST http: TLS handshake error from 172.20.3.3:31861: EOF Error syncing deployment stage/my-microservice: Operation cannot be fulfilled on deployments.extensions "my-microservice": the object has been modified; please apply your changes to the latest version and try again Сталкивались? Перегрузка по сети?
там 100500 TIME_WAIT от микросервисного общение и все начинается сыпаться, ставлю на нодах net.ipv4.tcp_max_tw_buckets=2000000,net.ipv4.tcp_tw_reuse=1,net.ipv4.tcp_fin_timeout=10, не помогает... а kops не дает поставить experimental-allowed-unsafe-sysctls для kubelet есть идеи?
Anton
можно еще net.ipv4.ip_local_port_range увеличить. но может на keepalive переходить?
Nomadic
Есть php сервис, для нормальной работы которого нужен хорошо разогретый memcache который крутится в том же поде. Надо перед тем как пускать на него трафик запустить php-скрипт который заполнит кеш, а потом уже отвечать на запросы Как это лучше в кубере сделать? initContainer не подходит так как мемкеш еще не будет запущен, отдельный контейнер в поде для разогрева кеша как по мне уже слишком, да и не нужен он после разогрева...
Nomadic
и как ее запускать при каждом старте контейнера? и не обязательно при деплое
Magistr
и как ее запускать при каждом старте контейнера? и не обязательно при деплое
хз, как вариант повесить хелсчек и как скрипт отработает отдать ок
Nomadic
я и думал readinessProbe повесить на приложение которое отдаст 200 как только мемкеш будет запущен вопрос как инициировать запуск срипта отдельно от приложения
Magistr
супервизором ?
Nomadic
не dockerway-но 😀
Etki
сделать entrypoint, который сначала запустит скрипт, а по его выходу запустит само приложение?
Etki
разве?
Nomadic
кроме того надо отслеживать сигналы, корректно завершать дочерние процессы...
Etki
exec просто в конце скрипта и всё
Etki
он вытеснит текущий процесс тем, что ему будет передано
Oleksandr
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
Oleksandr
прогревай экзеком
Etki
насколько помню, официальные образы sql бд так и работают, сначала инициализируют окружение, потом через exec запускают сам процесс
Nomadic
прогревай экзеком
так проба запускается периодически, а прогрев может быть до нескольких минут
Anton
в прогреве можно сделать проверку, грелось уже или нет =))
Etki
если честно, не вижу большой разницы из-за временных рамок
Etki
порядок действий должен остаться тем же
Nomadic
в прогреве можно сделать проверку, грелось уже или нет =))
такие мысли уже были, но както костыльно :)
Oleksandr
та хоть файл-флажок и проверка башем
Nomadic
я надеялся на что у кубера есть какието дополнительные возможности, но придется таки костыли скриптовать 😔
Anton
job же предложен был
Anton
а probe пускай опирается на прогретость кэша
Nomadic
а readinessProbe после удачной отработки еще запускается периодически?
Oleksandr
The kubelet uses readiness probes to know when a Container is ready to start accepting traffic. A Pod is considered ready when all of its Containers are ready. One use of this signal is to control which Pods are used as backends for Services. When a Pod is not ready, it is removed from Service load balancers.
Oleksandr
насколько понимаю готовность для того чтобы трафик на него пустить а живучесть для того чтобы принять решение что с ним делать если не отвечает
Nomadic
это понятно, по доке не ясно проверяется ли готовность все время или достаточно одного удачного срабатывания?
Роман
Я хочу, чтобы поды взаимодействовали по внутренней сети, через физический свитч, а не через интернет. В старой версии kubespray (где calico и flannel ставились отдельным докер-контейнером) я правил темплейт systemd-юнита плагина, где указывал IP сети, поверх которой будет работать плагин. Теперь calico/flannel ставятся, как Daemonset. Внутреннюю сеть не указать... Создал ишшью: https://github.com/kubernetes-incubator/kubespray/issues/1741 Но там сделали изменение в темплейте kubelet. Типа ему указать ip адрес. Но kubespray при деплое падает с ошибкой, что не может получить ответ от etcd. Как бы это и понятно - я же ему адрес внутренней сети указываю, у которой нет доступа в интернет... Вот теперь я начинаю сомневаться: это я что-то не правильно делаю, или я хочу непонятного? Как мне пустить весь трафик через внутреннюю сеть и сделать доступными поды извне, где hostNetwork: true?
Nomadic
ну а если приложение в процессе своей работы временно не может принимать трафик изза проблем с БД например?
Etki
за это отвечает liveness probe, которая должна кильнуть под
Etki
но если это именно проблемы с БД, то приложение должно проходить liveness probe, потому что это не его проблемы