@kubernetes_ru

Страница 184 из 958
Igor
12.06.2017
10:52:52
Малтимастер и достаточное количество нод - ребуты не страшны.

и apiservers
Там только один ньюанс, нужна перезагрузка apiserver всякий раз, когда меняются токены и пароли для доступа к API

Paul
12.06.2017
11:32:34
тогда шеф курить детально что и как
я привел пример. У меня шеф и так есть

Google
Aleksey
12.06.2017
11:33:27
Малтимастер и достаточное количество нод - ребуты не страшны.
Игорь, а как в таком кейсе мастеры балансерить?

Igor
12.06.2017
11:34:38
Внешним балансером, у вас же мастер не смотрит в public своим API на прямую?

Aleksey
12.06.2017
11:35:10
ну вот я про это и спрашиваю

положим у нас два мастера

перед ними прокси?

а сколько kube-dns тогда деражать

Igor
12.06.2017
11:35:41
У нас HAProxy балансирует доступ к мастерам

Aleksey
12.06.2017
11:35:47
я не придираюсь - я просто сам не знаю, отсюда и вопрос

Igor
12.06.2017
11:36:28
для кол-ва инстансов kube-dns есть kube-dns-autoscaler

Aleksey
12.06.2017
11:36:59
одно дело, когда тупо доступ до апи сервера, но если на этой ноде еще и kube-dns и еще что-то

Igor
12.06.2017
11:37:10
но это вроде никак не связано с кол-вом мастеров

Aleksey
12.06.2017
11:37:11
я посыл понял, ну примерно так и планируем делаем

но это вроде никак не связано с кол-вом мастеров
мм, сложный вопрос - при тестах - если умер kube-dns - ну сами понимаете - таймаутов не избежать

Google
Aleksey
12.06.2017
11:38:03
ну а так да, спасибо, примерно туда и рулим

Igor
12.06.2017
11:38:33
на ноде мастера не рекоммендуется шедулть что-то еще помимо apiserver, controller-manager и scheduler

Aleksey
12.06.2017
11:38:49
ок, понял

но тут тоже ремарка - если физ ноды мрут - что-то не так в консерватории ))

Igor
12.06.2017
11:39:29
kube-dns живёт на нодах, и скалировать его можно в зависимости от кол-ва нод и сервисов, нагрузки

Aleksey
12.06.2017
11:39:46
а с консулом сравнивали?

Igor
12.06.2017
11:39:48
лучше автоскэйлером

нет, зачем, используем нативные инструменты

Aleksey
12.06.2017
11:40:44
у нас сейчас связка consul + unbound, вот а до связки skydns+dnsmasq в плане тестов не дошли пока что

от сюда и вопрос

но он походу риторический вопрос - бери и тести :))

Igor
12.06.2017
11:41:21
k8s всегда обнаруживает недоступность того или иного сервиса по любой причине и шедулит новый

Aleksey
12.06.2017
11:42:36
да, но изначальный вопрос был: например, есть три ноды, да евентуал консинстенси рано или поздно все приведет в норму, вопрос то был про таймауте и в отказе работы сервисов

Igor
12.06.2017
11:42:46
kube-dns такой же сервис как и другие, умрёт нода, развернет на другой ноде, но для HA лучше всё же чтобы было как минимум 2 инстанса

Aleksey
12.06.2017
11:42:56
я понимаю, что это ресерч, но може кто-то уже делал

Igor
12.06.2017
11:43:41
делал что? консул?

у большинства стоит kube-dns + kube-dns-autoscaler

и оно шедулится и реплицируется автоматически

Aleksey
12.06.2017
11:45:36
про kube-dns-autoscaler услышал.

делал что? консул?
не консул, инетерсен крах ноды k8s с api server на борту и n колличества подов, которые еще нужно стартануть на другой ноде и сколько при этом получается простоя, поскольку ну по моему опыту - в 1 секунду это от и до не решится для всей системы в целом

Google
Aleksey
12.06.2017
11:48:50
вот я про что

понятно объяснил? просто специфичная задача - платежи проводить

ну походу это специфичный юзкейс, но про автоскейлер - спасибо!

@takama ладно, как митап в Нске будет, вы вроде как всегда присутсвуете, лично спрошу - на пальцах объяснять долго просто

Igor
12.06.2017
11:56:27
@kalevas договорились

В целом - простоя не должно быть при достаточном кол-ве мастеров, нод и реплик сервисвов.

Aleksey
12.06.2017
11:58:50
да-да, я вроде в нужную сторону смотрю - реплики.

Igor
12.06.2017
12:01:15
Пример Deployment контроллер, создаваемый в k8s имеет специальные поля, в которых определяется минимальное кол-во доступных реплик при релизах, поскольку это также важно для HA

Aleksey
12.06.2017
12:03:49
ну у меня скорее затык был в мулти апи сервере был, в это все дело

Igor
12.06.2017
12:06:17
Если особо важные для вас сервисы не используют активно API, то и это не так важно. Система будет продолжать работать, даже если ни одного мастера не будет доступно.

Aleksey
12.06.2017
12:06:31
да - это знаем

ладно, потом словимся - поспрашаем, Стасяну привет! :))

Igor
12.06.2017
12:07:12
Главное не шедулить там ничего "лишнего" :)

Привет передам :)

? Друзья, уже совсем скоро состоится важное событие весны - 5 и 6 июня в Сколково пройдёт РИТ++ (см. www.ritfest.ru). Если в цифрах, РИТ - это 160 сильнейших докладчиков, 2000+ участников, 8 тематических конференций, 40 митапов от экспертов, 20 стендов с розыгрышами и призами и т.д. Совместно с организаторами мы проводим розыгрыш билетов среди участников русскоговорящих профессиональных сообществ в Telegram: 1. https://t.me/react_js 2. https://t.me/js_ru 3. https://t.me/angular_ru 4. https://t.me/nodejs_ru 5. https://t.me/android_ru 6. https://t.me/ios_ru 7. https://t.me/devops_ru 8. https://t.me/kubernetes_ru 9. https://t.me/docker_ru 10. https://t.me/agile_ru А также других групп, представленных в этом списке: https://t.me/all_ru ? Всего будет разыграно: 4 билета среди участников (по одному на тематику - Мобильная разработка, DevOps, JavaScript, Agile) и 4 билета для тех, кто готов вести прямую трансляцию конференции в группе Telegram. Каждый может участвовать в двух номинациях. :) ? Что значит "прямая трансляция"? Организаторы готовы предложить со своей стороны: 1. Пригласить на конференцию (бесплатно, разумеется). 2. Выделить рабочую зону (тихие комнаты для подкастов, интервью, зарядки, оформить зону, перекусить и так далее). 3. Предоставить доступ к докладчикам (контакты, возможность связаться для интервью / чего угодно). 4. Предоставить доступ к спонсорам (контакты, интервью, услуги) - они тоже в вас заинтересованы. 5. Отдать пару потоков видео с конференции бесплатно для трансляции в реальном времени. 6. Скидочный код для подписчиков канала или подкаста. 7. Предложить PR, который может сделать конференция: логотип в информационных партнёрах, рекламную вкладку в брошюру участников. Что ожидается от вас в этом случае: 1. Продвижение конференции до события. 2. Интересный репортаж с места события - желательно в реальном времени, комментарии, цитаты, фотографии, прямые включения, интервью (можно постфактум). ? Выигранный билет нельзя обменять/продать или передать. В случае, если вы по какой-то причине не сможете воспользоваться билетом, сообщите организаторам - https://t.me/DenisIzmaylov ? Победитель будет выбран случайным образом. Ваши имя и фамилия будут опубликованы, в случае победы, все остальные ответы - конфиденциальны. Приём заявок завершится в воскресенье, 28 мая, в 23:59. ? Для участия в розыгрыше необходимо заполнить следующую форму: https://goo.gl/forms/By7hsLbOZCx2NhN13
Интересно, кто-то вёл трансляцию в итоге?

Alisa
12.06.2017
21:11:53
как в azure вертикально отскейлить ноды в kubernetes?

Andrey
13.06.2017
07:48:58
кто-нибудь istio юзает?

Let Eat
13.06.2017
08:12:34
кто-нибудь istio юзает?
поюзайте и расскажите :)

Igor
13.06.2017
08:29:40
кто-нибудь istio юзает?
Все ждут, пока кто-нибудь поюзает, наступит на все грабли и расскажет :)

Let Eat
13.06.2017
08:58:43
Все ждут, пока кто-нибудь поюзает, наступит на все грабли и расскажет :)
пихать user space proxy во все сетевые соединения без нужды не хочется

Google
Let Eat
13.06.2017
08:59:11
Когда kube-proxy перешли на iptables , говорят много быстрее страло, можно найти посты тех времен

Точно так же, когда flanneld перестал по пакетику пересылать, а перешел на vxlan

Впрочем современные решения они не про скорость, если ее хватает с запасом, то можно выторговать за нее что-нибудь еще, например графики красивые :)

Andrey
13.06.2017
09:57:30
вот еще проблемка: предположим, у меня есть база монги в кластере монга устроена таким образом что сжирает всю доступную ей память (да, можно сказать "какого хрена ты ее в кластере запускаешь" - но мне норм, да и монга тут просто как пример) в общем, наступает такой момент когда приложение доходит до максимального жесткого лимита и... контейнер убивается а можно как-то настроить поведение чтобы при достижении лимита не убивался контейнер, а просто дальше нельзя было пройти?

Zon
13.06.2017
09:58:38
А кто-то https://www.distelli.com смотрел? Я потыкался, мне понравилось, но возможно есть подводные камни

Admin
ERROR: S client not available

Andrey
13.06.2017
10:07:14
тут как бы проблема с тем что у меня GKE, и хотелось бы разруливать через кубернетес.. иначе все труды трутся после обновления нод, изменений и прочего :)

Zon
13.06.2017
10:12:50
Andrey
13.06.2017
10:18:20
я про ноды в плане машин на которых кубернетес запущен echo 0 > /proc/sys/vm/overcommit_memory не знаю подойдет ли решение так как GKE может ноды эти грохнуть и новые создать а я не в курсе буду но пока писал подумал что наверное сойдет :)

https://github.com/kubernetes/community/blob/master/contributors/design-proposals/resource-qos.md#oom-score-configuration-at-the-nodes там написано что этот пропозал уже имплементирован, не в курсе вот это соблюдается? If limits and optionally requests (not equal to 0) are set for all resources across all containers and they are equal, then the pod is classified as Guaranteed. If requests and optionally limits are set (not equal to 0) for one or more resources across one or more containers, and they are not equal, then the pod is classified as Burstable. When limits are not specified, they default to the node capacity. Guaranteed pods are considered top-priority and are guaranteed to not be killed until they exceed their limits, or if the system is under memory pressure and there are no lower priority containers that can be evicted.

Andrey
13.06.2017
10:45:37
ну я могу вероятно выделить что-то более важное что с бОльшим шансом доживет до OOM и возможно его переживет :)

Andrey
13.06.2017
10:57:59
конрктно про монгу так и сделал, спасибо

Zon
13.06.2017
11:08:05
Вообще приложение, которое безлимитно память ест это как-то стрёмно

Andrew
13.06.2017
14:36:28
Кто знает, какими средствами можно сделать так, чтобы группа подов располагалась в одной availability зоне

Google
Andrew
13.06.2017
14:36:47
ну и чтобы они все дружно переезжали в другую, в случае отказа первой

в частности на AWS

Zon
13.06.2017
14:46:45
nodeSelector: failure-domain.beta.kubernetes.io/zone: europe-west1-d

подозреваю, что для авс примерно так же. можно через дескрайб ноды посмотреть точные написания

Andrew
13.06.2017
14:49:16
nodeSelector: failure-domain.beta.kubernetes.io/zone: europe-west1-d
т.е. надо еще пилить апп который делает хэлсчек и обновляет деплойменты?

Zon
13.06.2017
14:50:25
если зона упала - тогда видимо да. а сразу по нескольким зонам в рамках региона не раскидать поды?

Andrew
13.06.2017
14:52:20
кластер на 1 регион, задача, как раз, уменьшить трафик между зонами

в целях удешевления

podAffinity, кажется подойдет, спасибо

Zon
13.06.2017
15:05:36
Put the pod in zone Z: Tricked you! It is not possible express this using the API described here. For this you should use node affinity.

https://github.com/kubernetes/community/blob/master/contributors/design-proposals/podaffinity.md очень интересно

но в нодаффинтити тоже можно указать preffered и required, так что можно обойтись без отдельного вочдога

Andrey
13.06.2017
15:08:26
а еще там есть антиаффинити... я везде на подах прописал но протестить как пока не знаю, надеюсь работает :)

Zon
13.06.2017
15:09:13
As with node affinity, there are currently two types of pod affinity and anti-affinity, called requiredDuringSchedulingIgnoredDuringExecution and preferredDuringSchedulingIgnoredDuringExecution which denote “hard” vs. “soft” requirements.

я думаю, что для данной задачи нужно прописывать таргетзону в нодаффинити и чтоб сервисы работали вместе в подаффинити, но возможно я перемудрил

Andrew
13.06.2017
15:57:59
ну конкретно для моей задачи зона не важна, главное чтобы апп состоящий из нескольких микросервисов располагался в одной зоне

достаточно inter-pod topological affinity

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