
Timothy
18.08.2016
09:20:15
но потом он заработал
и теперь я его не трогаю

Maxim
18.08.2016
09:20:29
ггг
у меня регулярно ломается кубе-днс

Google

Maxim
18.08.2016
09:20:52
пока не разобрался в причинах
просто перестает резолвить и все
приходится поды килять

Timothy
18.08.2016
09:21:19
а какая версия? он у меня тоже падал почти каждый день пока я не обновил манифест до kubedns-amd64:1.6
skydns работал через раз

Maxim
18.08.2016
09:21:39
дада

Timothy
18.08.2016
09:21:48
та еще стори

Maxim
18.08.2016
09:23:29
https://gist.github.com/Bregor/7079efc9b12e70e583e4847ed5ec7e91
вот этот давненько уже не падал
дня три...
> там иногда секреты он не может найти
секреты - это какой-то отдельный ад
я пока так и не понял, как оно работает

Google

Maxim
18.08.2016
09:26:45
поэтому прибил гвоздем везде kubeconfig с ключем/сертификатом
вон видишь там маунты

Timothy
18.08.2016
09:31:18
> там иногда секреты он не может найти
секреты - это какой-то отдельный ад
у меня когда такое было, я удалял все в /var/lib/kubelet (совет в одном из issues на gh), все контейнеры и сам default секреты. после перезапуска все работало. и только после этого я подключал другие манифесты. теперь боюсь обновлять и трогать эту “scalable and resilient” инраструктуру, потому что она убер хрупкая и часто нужно смотреть код на go, чтобы понять где ошибка и фиксить это руками. не этого я хотел в 2016

Fike
18.08.2016
09:33:25
Если честно, я тут недавно выбирал, что взять, и куб показался самым адекватным из всего (mesos-производные, swarm, nomad), но теперь я *немного напуган* тем, что вижу здесь в обсуждениях. Среди всего зоопарка куб и вправду самое надежное решение, или мне так только показалось?

Maxim
18.08.2016
09:34:00
> mesos-производные, swarm, nomad
ранчера забыл ;)

Timothy
18.08.2016
09:34:50
Если честно, я тут недавно выбирал, что взять, и куб показался самым адекватным из всего (mesos-производные, swarm, nomad), но теперь я *немного напуган* тем, что вижу здесь в обсуждениях. Среди всего зоопарка куб и вправду самое надежное решение, или мне так только показалось?
скорее показалось, я тоже думал в самом начале легче менеджить зоопарк сервисов через k8s, но это маркетинг, а реальность это issues в k8s: https://github.com/kubernetes/kubernetes/issues

Fike
18.08.2016
09:34:56
Я его в принципе не брал. На нашем проекте точно не потянем (и стремимся избежать сосбтвенного кластера, сейчас на GKE живем), так-то я вообще бэкенд, просто заниматься этим больше некому.

Timothy
18.08.2016
09:35:37

Ivan
18.08.2016
09:35:39

Timothy
18.08.2016
09:35:52
как раз вчера на HN: circleci.com/blog/its-the-future

Fike
18.08.2016
09:36:35
Перефразирую вопрос: есть ли смысл прямо сейчас перелезать на другое инфраструктурное решение?

Timothy
18.08.2016
09:37:01
если сейчас все работает, то лучше ничего не ломать
и не вестись на хайп от гугла

Fike
18.08.2016
09:38:14
как бы еще перефразировать )

Maxim
18.08.2016
09:38:54
перелезать с кубернетеса на что-то, или с bare metal на что-то кроме кубернетеса?

Timothy
18.08.2016
09:41:00
на k8s можно тратить время, если у тебя больше одного сервиса и зоопарк технологий, тогда он действительно может помочь, но только если есть время на devops (много в самом начале), из коробки он работает только у инженеров гугла


Fike
18.08.2016
09:42:05
Тут хайп вообще не при чем, просто по функционалу и общему интерфейсу это выглядело лучше аналогов. Нормально продуманное API, пусть не до конца доделанные, но продуманные конкретные кейсы, PVC, вот это вот все. У аналогов я наблюдал "возможность распределить джобы по нодам" без особой конкретики. Если выкинуть саму проблематику и баги, то куб выглядит технически продвинутым относительно всех остальных, как-то гораздо ближе к реальным задачам, и, в перспективе, гораздо более удобным для этих задач (например, через N времени можно ожидать разумную поддержку stateful сервисов в виде PetSet). Сейчас меня смущает количество багов, и я хотел узнать, есть ли какие-либо аналоги у куба именно в этой части, не знаю, приближенности к реальным задачам.
с кубернетеса на аналог

Timothy
18.08.2016
09:42:47
а, не, аналогов я тоже не нашел
и сам подсел на k8s deployment, теперь bamboo дергает kubectl с patch и все само обновляется без ansible как раньше

Google

Maxim
18.08.2016
09:43:37
а как же ранчер?

Fike
18.08.2016
09:43:47

Maxim
18.08.2016
09:43:53
http://rancher.com/
у них вообще все мышкой делается, даже манифестов не надо писать

Timothy
18.08.2016
09:44:52

Fike
18.08.2016
09:45:09
а как же ранчер?
я его пока что не вытяну, скинуть не на кого. bare metal у нас в ближайшее время не будет, проект микросервисный и деплоя там порядочно, я сделал все, чтобы избежать бутстрапа нод

Maxim
18.08.2016
09:45:37
да, для меня тоже
но вот программисты страдают
фронтенды особенно

Fike
18.08.2016
09:46:00
)

Maxim
18.08.2016
09:46:31
а поскольку моя работа - делать программистов счастливыми

Timothy
18.08.2016
09:46:43
а тут кто-нибудь завел ingress из k8s-addons?

Maxim
18.08.2016
09:46:43
приходится, короче, извращаться разнообразно

Timothy
18.08.2016
09:47:09
или у всех nginx-plus или сборка + upstream модуль для динамического резолва?

Maxim
18.08.2016
09:47:30
ох, не
у меня пока nginx прямо на железяке смотрит в кубе-днс и сервит кубе-сервисы

Fike
18.08.2016
09:47:52
пока вообще ничего, я в отпуск ушел посередине внедрения. планируется nginx + dns-резолв

Timothy
18.08.2016
09:48:13
в этом и проблема

Maxim
18.08.2016
09:48:29
почему?

Google

Timothy
18.08.2016
09:48:47
ну если я руками убил сервис или обновил манифест, то nginx уже не резолвит правильно
если это не nginxplus

Fike
18.08.2016
09:48:54
я подумываю рядом завести cron-контейнер, который будет такими вещами заниматься
там все равно с aerospike та же фигня выходит

Timothy
18.08.2016
09:49:12

Maxim
18.08.2016
09:49:50
у меня проблема в том, что не все сразу смигрировало в кубернетес
есть часть сервисов, которые уже там, и большое нераспиленное приложение, которое еще на хосте
ну и там постгресы всякие с редисами
гибридная инфраструктура ©
:D

Timothy
18.08.2016
09:50:53

Maxim
18.08.2016
09:50:56
поэтому основной nginx пока на хосте

Fike
18.08.2016
09:52:24
petset не очень хорошо обновляется, и там есть единственный issue от меня о том, что он и не скалируется )
пока втупую через фиксированное количество деплоев делаю, но это все не дело, конечно

Alexander
19.08.2016
07:49:24
Друзья, у меня вот какая задачка появилась. Есть сервис, запущенный на каждой ноде через DaemonSet. Этот сервис может по API отдать check - состояние ("in_process", "waiting") допустим...
Можно как-то настроить DS так, чтобы Pod терминэйтился только когда сервис отдает "waiting"? или ждет, пока сервис не выйдет в состояние "waiting" в какой-то промежуток Timeout?
критично - не удалять этот под, пока там что-то деалется
даже при обновлении

Fike
19.08.2016
07:51:47
DS нельзя обновлять, насколько помню

Alexander
19.08.2016
07:52:30
delete/create

Fike
19.08.2016
07:52:31
и с терминейтингом пода вообще не понял, может, мне не хватает квалификации, но не помню чтобы куб вообще каким-то образом терминейтил поды

Google

Alexander
19.08.2016
07:52:57
перед удалением он (Pod) переходит в состояние Terminating

Fike
19.08.2016
07:53:07
я не думаю, что существует функционал защиты от удаления

Alexander
19.08.2016
07:53:24
полезу в код разбираться...

Fike
19.08.2016
07:53:32
Эта ответственность лежит на том, кто менеджит кластер. Иначе есть возможность бесконечно откладывать удаление.

Alexander
19.08.2016
07:53:57
ну вот не зря же в Kubernetes добавили сервисные аккаунты)))
чтобы runtime управлять кластером
через API

Fike
19.08.2016
07:54:30
это никак не противоречит тому, что я сказал

Maxim
19.08.2016
07:54:48
http://kubernetes.io/docs/user-guide/liveness/
Sat, 27 Jun 2015 13:43:03 +0200 Sat, 27 Jun 2015 13:44:34 +0200 4 {kubelet kubernetes-node-6fbi} spec.containers{liveness} unhealthy Liveness probe failed: cat: can't open '/tmp/health': No such file or directory
Sat, 27 Jun 2015 13:44:44 +0200 Sat, 27 Jun 2015 13:44:44 +0200 1 {kubelet kubernetes-node-6fbi} spec.containers{liveness} killing Killing with docker id 65b52d62c635
Sat, 27 Jun 2015 13:44:44 +0200 Sat, 27 Jun 2015 13:44:44 +0200 1 {kubelet kubernetes-node-6fbi} spec.containers{liveness} created Created with docker id ed6bb004ee10
Sat, 27 Jun 2015 13:44:44 +0200 Sat, 27 Jun 2015 13:44:44 +0200 1 {kubelet kubernetes-node-6fbi} spec.containers{liveness} started Started with docker id ed6bb004ee10

Alexander
19.08.2016
07:55:16
Во!!! Максим, огромное спасибо! Запамятовал - смотрел когда-то...

Maxim
19.08.2016
07:55:27
;)

Alexander
19.08.2016
08:05:42
только это диаметрально обратная фича ;) она про запус... вот мне бы то же самое но про удаление

Maxim
19.08.2016
08:06:18
ну так она удаляет под, когда он probe не проходит

Alexander
19.08.2016
08:07:30
дада... мне же наоборот надо - чтобы при kubectl delete не происходило удаления пока что-то там не чекнулось. Но действительно, архитектурно это невозможно - иначе можно получить вообще невозможность удалить под

Maxim
19.08.2016
08:08:02
напиши проверку так, чтобы она это учитывала
там же не обязательно http-check
есть и exec
а уж в exec'e что угодно сделать можно

Alexander
19.08.2016
08:08:42
это все работает только на запуск
на удаление не работает )))