@kubernetes_ru

Страница 778 из 958
Andor
23.08.2018
16:36:24
разумеется

Andrey
23.08.2018
16:37:05
Как? Сейчас, к примеру, 6 нод с нужной меткой и replicaCount == 6. Но если удалить два пода, то они легко меняются местами

Pavel
23.08.2018
16:47:18
Affinity

+ метки НОД. Если не зачто зацепиться

Google
Andrey
23.08.2018
16:48:16
Эм, сейчас они с topologyKey hostname

А можно ткнуть в пример как pod-3 привязать к node-3?

Pavel
23.08.2018
16:53:58
Интересный пример. Домой приеду, поищу рншение

Andrey
23.08.2018
16:55:32
Вот ишью https://github.com/kubernetes/kubernetes/issues/65267 Я надеялся на смекалку нашего брата)

Pavel
23.08.2018
16:56:00
Влоб и не универсально: добавить метку pod-3 на хост node-3 и по не й сделать афинити

Andrey
23.08.2018
16:57:04
Влоб и не универсально: добавить метку pod-3 на хост node-3 и по не й сделать афинити
Это как? Мы же говорим о поде из StatefulSet Мне в голову приходит только кастомный шедулер

Pavel
23.08.2018
16:58:32
Метки у хостов ест?

В афинити говорим что запускаться только на узле у которой есть метка

Andrey
23.08.2018
17:01:35
Есть, и? Да, допустим у нас 6 хостов с метками, nodeSelector натравлен на них и replicaCount == 6. Теперь мы удаляем 2 пода и они перезапускаются, к примеру, 5 на ноде где был 6 и наоборот.

Pavel
23.08.2018
17:04:32
Метки node-1: pod-1, node-2: pod-2. В афинити вы указывает что выборка идёт по метками и там где метка равна имени рода, можно запустить под.

Mikhail
23.08.2018
17:06:16
Всем привет. Контейнер ушёл в рестарт и теперь пишет в статусе restarting

Что можно сделать?

Docker restart

Google
Andrey
23.08.2018
17:07:12
Посмотреть логи?

Pavel
23.08.2018
17:07:23
kubectl describe

Mikhail
23.08.2018
17:09:03
Чистый докер

Не курьер

Кубер

Andrey
23.08.2018
17:09:37
Метки node-1: pod-1, node-2: pod-2. В афинити вы указывает что выборка идёт по метками и там где метка равна имени рода, можно запустить под.
Я Ваш посыл услышал, но как указать свой affinity для каждого пода в отдельности или подставить POD_NAME хотя бы. Разве это поддерживается?

Pavel
23.08.2018
17:10:02
Да

Andor
23.08.2018
17:10:25
а разве стейтфулсет не будет запускаться на том же хосте где его клайм выделил волюм?

Pavel
23.08.2018
17:10:30
Хм или нет... Сейчас дойду проверю

Andor
23.08.2018
17:10:32
иначем зачем вот эти все локалволюмы

Andor
23.08.2018
17:12:12
ты точно нигде не ошибся?

Andrey
23.08.2018
17:13:31
Да где там можно ошибиться. Тут вопрос не в перезапуске пода/ноды с подом. А трабл когда две ноды перезапускаются: поды могут легко перепрыгнуть

Т.е. при RollingUpdate c maxUnavailable 1, все ок Я там ишью выше скинул, говорят пока не завезли такого функционала (хотя там немного о другом) В общем, нужно лепить шедулер

V
23.08.2018
17:17:40
Т.е. при RollingUpdate c maxUnavailable 1, все ок Я там ишью выше скинул, говорят пока не завезли такого функционала (хотя там немного о другом) В общем, нужно лепить шедулер
Глупый вопрос: в StatefullSet поды могут содержать разную "начинку"? Например, в виде разных открытых портрв, или версии образа, и т. д.

Andrey
23.08.2018
17:17:51
И нет и да

partitiion позволяет оставлять часть подов в repicaset со старой версией

kvaps
23.08.2018
17:18:20
ты точно нигде не ошибся?
Если снести ноду, информация о поде тоже снесется

V
23.08.2018
17:18:39
И нет и да
Да - это в каких случаях? Если не секрет :)

kvaps
23.08.2018
17:18:57
Правильное решение - это проставить nodeAffinity для каждого local volume

Google
V
23.08.2018
17:19:27
partitiion позволяет оставлять часть подов в repicaset со старой версией
Пнятненько. Это я знал, может быть, есть еще возможные варианты?

Andrey
23.08.2018
17:20:54
Правильное решение - это проставить nodeAffinity для каждого local volume
Опять же, каждый под в наборе должен иметь свой аффинити

kvaps
23.08.2018
17:21:01
Нет

Аффинити нужно не для подов добавлять а для president volume

V
23.08.2018
17:21:55
Ведь если, в общем случае, между pod в StatefullSet нет разницы, кроме, пожалуй, имени, то не имеет значения, по всей видимости, где какой pod запущен. Или имеет?

Andrey
23.08.2018
17:22:11
Если это кластер clickhouse, то имеет) Живет прекрасно, но вот это не дает мне покоя

Аффинити нужно не для подов добавлять а для president volume
А можно пример? Ведь каждый под должен выбрать свой local-volume

kvaps
23.08.2018
17:22:59
А каждый под в StatefulSet должен иметь свой pvc слинкованный с этим pv

kvaps
23.08.2018
17:24:52
https://github.com/kvaps/docker-linstor#complex-solution-with-postgresql-database

Andor
23.08.2018
17:24:54
может есть просто оператор для кх?

Andor
23.08.2018
17:27:02
оно

о других кликхаусах лично я не слышал

Andrey
23.08.2018
17:28:20
В общем, завтра кастомный шедулер запилю, велосепидить так до конца

Просто кто-то тут хвалился монгой в кубе, а там же теже проблемы всплывают

Andor
23.08.2018
17:29:46
что-то не гуглится оператор, да

для монги сходу можно найти штуки три

Google
Andrey
23.08.2018
17:30:27
Я про вариант на StatefulSet, а операторов, да, хватает

Andor
23.08.2018
17:30:52
а зачем руками делать стейтфулсет если есть оператор?

kvaps
23.08.2018
17:31:21
не, это что-то не туда совсем
с чего это? вот nodeAfinity для PV: https://github.com/kvaps/docker-linstor/blob/master/examples/linstordb-volume.tpl#L21-L28

а statefulset герерит PVC на них, ака myapplication-0 myapplication-1 myapplication-2 ...

V
23.08.2018
17:32:22
@shursh если будет возможность, расскажите, пож-ста, в каком сценарии понадобилась такая необычная задача по привязке pods

kvaps
23.08.2018
17:33:01
linstor это ж drbd
блин ну меня пример попросили

Andrey
23.08.2018
17:33:05
а statefulset герерит PVC на них, ака myapplication-0 myapplication-1 myapplication-2 ...
Так, это уже любопытнее, завтра проверю, спасибо!

Раз уж… посоветуйте адекватный чарт для rabbitmq. Дефолтный stable/rabbitmq надо форкать ибо там привязка к kubedns с их зашитым cluster.local, от bitname stable/rabbitmq-ha вообще деревянный, тоже форкать

Andor
23.08.2018
17:34:35
да туда же

возьми оператор

kvaps
23.08.2018
17:35:41
linstor - это такое-же приложение как и любое другое, ему требуется база данных, база данных запускается как StatefulSet с репликой 3, каждый под использует свой localvolume с nodeaffinity

Andrey
23.08.2018
17:36:27
возьми оператор
Я бы рад под все его взять, но есть линк на нормальный?

Andor
23.08.2018
17:36:47
честно говоря я ни один не юзал

kvaps
23.08.2018
17:37:52
Andrey
23.08.2018
17:38:32
Эм, список то я видел, а где там для rabbitmq?

kvaps
23.08.2018
17:39:31
сорри, я не видел что тебе для rabbitmq :)

Andor
23.08.2018
17:41:11
хммм

и правда, что-то нету :/

Google
Andrey
23.08.2018
17:41:20
Ок, зайду с другого бока: на github есть kubernetes/charts и там есть stable/rabbitmq, наверняка разработку ведут в других репах а сюда вмерживают изменения. просто при таком кол-ве форков взять и посмотреть карту форков чтобы найти что-то допиленное не выходит

Andor
23.08.2018
17:41:21
опять фигню сказал

но есть автокластер

Andrey
23.08.2018
17:43:38
Есть, и он даже работает у bitnami из коробки ибо можно менять имя кластера куба, но сам чарт деревянный: там даже доп порты нельзя открыть, мониторинга нет. понятно что допилить можно, но времени это все съедает…

Ладно, всем спасибо. На крайняк все это выпилю и раскатаю шефом напрямую)

Pavel
23.08.2018
17:45:51
Была статья недавно на хабре про деплой рэббита в кубер

Там правда готовые yaml в статье

Andrey
23.08.2018
17:46:17
Кстати, это нормально что ansible в рецептах kubespray при сборе фактов отжирает 7 гигов оперативы?

Pavel
23.08.2018
17:46:17
А не helm чарт

Sergey
23.08.2018
17:46:34
Там правда готовые yaml в статье
Ага до сих пор на стене висит руки не дойдут

Andrey
23.08.2018
17:47:10


Let Eat
23.08.2018
17:58:14
А можно ткнуть в пример как pod-3 привязать к node-3?
(прочитав весь тред). У вас локальные диски? Пометьте каждую ноду лейблом kubernetes.io/failure-domain=имя ноды, тогда PV тоже будут с тем же лейблом и тогда куб сам запустит что где надо

Andrey
23.08.2018
18:03:40
Let Eat
23.08.2018
18:05:42
Да. Вот строчка которая ему не даст запуститься не там: glog.V(10).Infof("Won't schedule pod %q onto node %q due to volume. Ищите в https://github.com/kubernetes/kubernetes/blob/b4c7d190cd9a6770ea39c6b99a799e45aed1c5ce/pkg/scheduler/algorithm/predicates/predicates.go

(не могу ссылку на строчку с мобильного отправить почему-то)

Andrey
23.08.2018
18:07:49
Спасибо. Я не знал о таком применении этих меток

Let Eat
23.08.2018
18:08:55
Ещё пилят фичу, когда топология дисков отличается от топологии нод, но даже если доделают к 1.12 то все равно альфой будет пару релизов уж точно

Спасибо. Я не знал о таком применении этих меток
Блин и без них local volume должен правильный находиться. Точно был спец случай где то, когда их ввели

Andor
23.08.2018
18:12:56
может версия старая

Andrey
23.08.2018
18:13:07
Да уже накидали версий, буду пробовать

Страница 778 из 958