
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

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

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
иначем зачем вот эти все локалволюмы

Andrey
23.08.2018
17:11:43

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

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

Andrey
23.08.2018
17:20:54

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, то имеет) Живет прекрасно, но вот это не дает мне покоя

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

Andrey
23.08.2018
17:23:49

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
может есть просто оператор для кх?

V
23.08.2018
17:26:31

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

Andor
23.08.2018
17:32:35
linstor это ж drbd

kvaps
23.08.2018
17:33:01

Andrey
23.08.2018
17:33:05
Раз уж… посоветуйте адекватный чарт для 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

Andrey
23.08.2018
17:47:10

Let Eat
23.08.2018
17:58:14

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 то все равно альфой будет пару релизов уж точно

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

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