
yolkov
09.03.2017
17:50:51
ну не делай создание на каждый коммит, привяжись к трекеру, как в статус “ААА” перевели, создавай окружение
у разрабочкиков есть локальный миникуб, где они так же свои чарты могут разворачивать для разработки
ты в праве выбрать на что тригерить, а на что не нужно
это больше организационный вопрос

Google

yolkov
09.03.2017
17:52:57
прелесть неймспейсов еще и в лимитировании ресурсов

Artem
09.03.2017
17:54:23
а в проде тоже неймспейсы?

yolkov
09.03.2017
17:54:51
ну там их не так много как в QA, деве
по проектам или группе проектов

Artem
09.03.2017
17:56:18
ну вот ещё одна будет проблема рано или поздно, CI зелёный, а в проде не пашет.

yolkov
09.03.2017
17:57:41
у нас в любом случае окружение отличатся будет, в бою много сервисов работают вне куба, так что идентичности мы в любом случае не добъемся

Artem
09.03.2017
17:58:55
тогда нет никаких гарантий)
это красивый CI с свистелками, но прод он работающий не гарантирует)

yolkov
09.03.2017
18:01:55
а как ты засунишь в куб, CI постгрес с сотни гигабайтовыми БД
несколько редис кластеров из 64 шард с репликами
тарантулов, мемкешей
пару десятков кластеров монг?

Artem
09.03.2017
18:03:52
это юниттесты должны обеспечить

Google

yolkov
09.03.2017
18:04:19
а кто сказал что у нас их нет?
я говорил что мы не сможем посторить боевое окружение к дев, QA и т.п.
поэтому стараемся хотябы поднимать похожее, но в меньщих объемах

Artem
09.03.2017
18:07:13
стопроцентно го покрытия я ещё ни разу не видел. и к этой сумятице добавляется ещё неймспейсная неразбериха, которой на проде нет)
CI тестирует сервис в идеальном для него окружении, как будет в проде хз
планерки, тикеты, раком ставят пм, никто не виноват) у меня лично постоянно такой опыт был. у вас не так?)

yolkov
09.03.2017
18:12:25
слава богу раком не ставят)

Artem
09.03.2017
18:12:41
?
я про то, чтобы не превращать все в карго культ. тестировать удобнее, а то ли оно тестирует вообще никто не знает
а в проде у вас тоже кубернетес?

yolkov
09.03.2017
18:18:05
частично
часть сервисов
все еще в стадии внедрения, постоянно чтото обновляем, изменяем

Artem
09.03.2017
18:19:21
разработчики знают, что они пишут микросервисы со всеми вытекающими? или девопс сам костылями забивает?

yolkov
09.03.2017
18:21:08
конечно знают, но переходный период, микросервисы давно начинали писать, но у нас все равно основное приложение монолит, и его не скоро еще распилят, сервисы появляются вокруг монолита

Artem
09.03.2017
18:22:07
?
я щас сам на себя работаю, с кубернетесом проблем нет. в больших конторах я его ещё не видел, интересны проблемы и вот это все что я выше написал
на моем последнем месте мы хотели такое сделать, но не сложилось)
проблемы были с более простым, традиционным CI

Fike
09.03.2017
19:45:38

Google

Fike
09.03.2017
19:47:22
В моей философии тестовые кластеры и должны умирать сразу по окончании тестов, вся необходимая информация о внутрянке должна оставаться в тестовых отчетах. У меня свой взгляд на необходимые окружения, и весь деплой для предпросмотра предполагался в фиксированные неймспейсы (включая feature-ветки - у нас тут не так много людей, поэтому предполагалось запихивать это в один неймспейс preview). В общем, весь этот кейс не очень сильно отличался от любых других.

Denis
09.03.2017
22:49:01
Хороший кейс
Завтра задам вопрос, а тем временем на другом краю земли ) https://twitter.com/zeithq/status/839046948053258240

Vasiliy
10.03.2017
00:30:21
а вот если я создал на одной тачке с gcloud cli & kubectl кластер, то как на другой на него потом переключиться?
на той же самой можно use-context, но на другую нужно как-то этот контекст добавить? как?
конфиг ручками копировать если только https://kubernetes.io/docs/user-guide/sharing-clusters/
ой, а если я ноды в дашбоарде удалил, то их можно пересоздать автоматически?

Andrey
10.03.2017
08:48:57
kubeadm --join...?

Vasiliy
10.03.2017
08:50:43
а, у меня нa google cloud крутится все
сорян за такие вопросы конешно) учусь в экстремальных условиях

Andrey
10.03.2017
08:52:34
Если так, то сейчас поднимется и подключится автоматом

Vasiliy
10.03.2017
08:57:06
да, ну т.е. кластер у меня создается командой gcloud container clusters create ..., и дальше kubectl apply -f blahbla, ох, я понял, там в скриптах вот так:
node_port=$(kubectl get -o jsonpath="{.spec.ports[0].nodePort}" services $base)
[ -z "$node_port" ] && echo "!!! Node port not found !!!" && exit 1;
node=$(kubectl get pods -o jsonpath="{.items[0].spec.nodeName}")
нифига не шарю, даже загуглить не могу нормально как пересоздать ноды
не хочется кластер пересоздавать
пробую просто размер кластера поменять, т.е. кол-во нод, мб поможет, ¯\_(ツ)_/¯


Дмитрий
10.03.2017
09:06:17
Привет! В последнее время продолжаю, или другими словами пытаюсь, настроить вручную кластер. Настроил, ни один процесс в моем двухузловом кластере не ругается. Но при всем при этом, каждый раз когда я запускаю очередной POD тем или иным способом, у меня вываливается состояние Pending. С сетью все нормально и команда kubectl describe node *** выдает, что вроде все нормально. Кто нибудь может как-то помочь мне изменить состояние Pending на что-то иное. Могу для ясности выслать свои рабочие конфиги, что возможно поможет мне сдвинуться с места.

Sergej
10.03.2017
09:09:16
второй узел как миньон подключен

Andrey
10.03.2017
09:19:58

Vasiliy
10.03.2017
09:20:36
да, я его 2 раза проходил в течение недели
(:
да, я грохнул уже кластер) спасибо
это конечно дичь, я уверен есть способ восстановить ноды, но я пока очень мало знаю(

Google

Andrey
10.03.2017
09:22:47
Привет! В последнее время продолжаю, или другими словами пытаюсь, настроить вручную кластер. Настроил, ни один процесс в моем двухузловом кластере не ругается. Но при всем при этом, каждый раз когда я запускаю очередной POD тем или иным способом, у меня вываливается состояние Pending. С сетью все нормально и команда kubectl describe node *** выдает, что вроде все нормально. Кто нибудь может как-то помочь мне изменить состояние Pending на что-то иное. Могу для ясности выслать свои рабочие конфиги, что возможно поможет мне сдвинуться с места.
Что необычного в логах мастера? Настройка Kubernetes в ручном и полуавтоматическом режиме разобрана у меня в блоге http://avmaksimov.ru/%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA-kubernetes/ - прочитай первые три статьи - более, чем достаточно, чтобы понимать, что происходит и как завести Kubernetes


Vasiliy
10.03.2017
09:24:21
да, я понимаю, поэтому пересоздал кластер просто
я имел ввиду восстановить ноды без его пересоздания
как-то мб вручную

Дмитрий
10.03.2017
09:24:41


Andrey
10.03.2017
09:28:04
да, я понимаю, поэтому пересоздал кластер просто
я имел ввиду восстановить ноды без его пересоздания
как-то мб вручную
кажется понял: кластер кубера стартует в виртуальных машинах (один мастер и 2 или 3 ноды) итого 3-4 вирт машины. если ты одну из них грохнул, будет создана новая ВМ, о старой забудь. здесь дело в подходе к микросервисам в контейнерах: предполагается, что любой контейнер или сервер могу сдохнуть в любой момент времени, поэтому приложения, размещаемые в контейнерах и контейнерных кластерах должны учитывать этот момент и быть спроектированы с учетом этого подхода. Итог: грохнул ноду - забудь про нее, все восстановится автоматически.

Vasiliy
10.03.2017
09:28:57
но у меня не восстановились(
я их (ноды) через kubernetes dashboard удалял
правда я там еще много всего делал:
– менял шаблон у вм
– пересоздавал сами вм
– менял кол-во нод

Andrey
10.03.2017
09:31:28
и подключит к мастеру
так будет проще всего

Vasiliy
10.03.2017
09:32:44
ладно, спасибо) уже поздно, я уже пересоздал кластер)
в след раз попробую, но вроде бы я это делал

Admin
ERROR: S client not available

Vasiliy
10.03.2017
09:33:10
еще парит что очень много всего остается после удаления кластера
load balancer'ы и прочее, много всего
приходится чистить ручками
было бы неплохо уметь как-то это все удалять вместе с кластером, но как я пока не понял

Andrey
10.03.2017
09:39:20
и ничего не остается

Vasiliy
10.03.2017
09:39:49
да я и так пробовал и через веб интрефейс (
у меня почему-то остается, подозреваю что мб там нет явной какой-то привязки к кластеру, но они не удаляются)

Andrey
10.03.2017
09:42:30


Vasiliy
10.03.2017
09:43:34
да, ну я вот удалил через веб интерфес, он же тоже самое API использует, что и gcloud cli, остались балансировщики и еще куча всего и вот ручками удаляю сижу все время эти остатки
столько там еще проблем конечно
например, если пересоздать VM когда pod is pending, то этот pod так и останется в pending с:
1m 17s 8 {default-scheduler } Warning FailedScheduling no nodes available to schedule pods
т.е. он банально не может попробовать еще разок
или нет
NAME STATUS AGE
gke-foo-staging-default-pool-8d686e11-cxpt NotReady 6m
это после пересоздания кластера и после изменения шаблона и группы VM и их пересоздания
я в прошлый раз так nodes и удалил, тк увидел NotReady и подумал типа удалю и он сам пересоздаст, но нет(
ок, я кажется понял
не, ничего не понял, на этот раз ноды не удалял
удалил vm's, они пересоздались, а ноды не появились) kubectl get nodes – No resources found.

Google

Дмитрий
10.03.2017
11:28:00
В чем может быть дело? Выдается вот такое сообщение, которое вообщем-то верно,
kubelet[1942]: E0310 17:24:52.080953 1942 container_manager_linux.go:625] error opening pid file /run/docker/libcontainerd/docker-containerd.pid: open /run/docker/libcontainerd/docker-containerd.pid: no such file or directory

Sergej
10.03.2017
11:28:54
каталоги все по пути есть?

Дмитрий
10.03.2017
11:29:57
каталоги все по пути есть?
Есть, но там вообще нет PID-файлов. Мой докер не использует PID-файл. Более того у него даже такого параметра нет)

Timur
10.03.2017
13:29:11
привет. подскажите самый простой способ реализации динамического Load balancer'а под Kubernetes.

Fike
10.03.2017
13:48:26
сущность сервиса в самом кубернетесе

Roman
10.03.2017
17:27:13
че означает [::]:9000

Dmitry
10.03.2017
17:28:02

Ivan
10.03.2017
17:28:03

Dmitry
10.03.2017
17:28:18
Пхп фпм

Roman
10.03.2017
17:28:24
ну вот погугги
ничего ненайдеш )

Dmitry
10.03.2017
17:28:36
Лучше кстати на юникс сокетах

Ivan
10.03.2017
17:29:12
Вот @count0ru пусть будет гарантом

Dmitry
10.03.2017
17:29:52

Roman
10.03.2017
17:30:03
поисковая система незнает как такие абриавиатуры искать

Dmitry
10.03.2017
17:30:18

Roman
10.03.2017
17:30:26
непомогает

Dmitry
10.03.2017
17:30:34
Нуок
Проверять я конечно не буду

Roman
10.03.2017
17:31:00
ну я даже незнаю как подругому это найти )) как описать
я думал это для ipv6

Dmitry
10.03.2017
17:32:51
Если человеку в пятницу вечером лень гуглить и он спросил в чате, то кто мы чтобы его осуждать