
Maxim
18.09.2016
20:01:24
там все тоже самое, только из первых рук и бесплатно

Andrey
18.09.2016
20:01:55
а про какую ты говорил "только что было обновление" тогда?

Maxim
18.09.2016
20:02:27
а, точно, это ж негр с касаткой
не признал

Google

Maxim
18.09.2016
20:02:56
ну короче, я не вижу сейчас смысла в ее покупке
я покупал летом
в июне
там было про кубернетес-1.1
и в основном просто перепечатка оффдоки
чуть менее абстрактная

Andrey
18.09.2016
20:04:09
ага, вижу, спс

Maxim
18.09.2016
20:04:29
ну то есть оффдока описывает только сам "продукт"
а негр добавляет к этому примеры из близких ему технологий

Andrey
18.09.2016
20:07:20
маленький оффтоп: если кто helm юзает никто ошибку такую не встречал? выглядит как че-то простое из мира go связаное с сетью, но чет идей нет как отдебажить:
Andreys-MacBook-Air:~ drago$ helm list
2016/09/18 23:06:28 transport: http2Client.notifyError got notified that the client transport was broken EOF.
Error: transport is closing
@pipopolam а ты можешь поделиться своим конфигом прометея? не всем ессно, а в плане настройки алертов

Maxim
18.09.2016
20:37:18
у меня там специфичные относительно наших контейнеров алерты
за самим кубернетесом я слежу только в режиме дашборда пока

Google

Andrey
18.09.2016
20:38:04
ок

Maxim
18.09.2016
20:39:03
но я тебе могу набросать алертов, если ты скажешь, что ты хочешь алертить-то

Andrey
18.09.2016
20:42:00
навскидку: падение подов (с кодом ошибки а не при скалировании), успешный и неуспешный запуск деплойментов, какие-нибудь подозрительные бёрсты по цп и памяти, малое количество ресурсов... короче ты уже понял что я пока слабо представляю что и как там делается :)
падение подов - самое важное, я спецом настраиваю сервисы падать при любой ошибке необработаной чтобы иметь средство замечать косяки

Maxim
18.09.2016
20:46:13
а что такое "падение пода"?

Andrey
18.09.2016
20:46:23
это когда контейнер выходит с ошибкой

Maxim
18.09.2016
20:46:37
количество_бегущих_подов внезапно стало -= 1?

Andrey
18.09.2016
20:47:09
наверное да

Maxim
18.09.2016
20:47:29
ну тогда вышедшие без ошибок ты тоже зацепишь

Andrey
18.09.2016
20:47:32
а конкрето евенты с подов он не может получать? типа "оп, этот под вышел со статусом != 0, пошлю ка я сообщение"
контейнер у этого пода *
ну ладно, пока наверное нет смысла диалоги вести, через пару дней прочитаю доки и поэкспериментирую - тогда вопросы появятся :)


Maxim
18.09.2016
20:55:16
у меня тут докер-демон зашкварило
# strace -p 16080
Process 16080 attached
read(37, "<probe> ERRO: 2016/09/18 20:34:2"..., 32768) = 156
futex(0x2a69030, FUTEX_WAKE, 1) = 1
futex(0x2a68f70, FUTEX_WAKE, 1) = 1
futex(0xc8203fb508, FUTEX_WAKE, 1) = 1
write(38, "{\"log\":\"\\u003cprobe\\u003e ERRO: "..., 236) = 236
read(37, "<probe> ERRO: 2016/09/18 20:34:3"..., 32768) = 156
futex(0x2a69030, FUTEX_WAKE, 1) = 1
futex(0x2a68f70, FUTEX_WAKE, 1) = 1
futex(0xc8202fe108, FUTEX_WAKE, 1) = 1
write(38, "{\"log\":\"\\u003cprobe\\u003e ERRO: "..., 236) = 236
read(37, "<probe> ERRO: 2016/09/18 20:34:4"..., 32768) = 156
futex(0x2a69030, FUTEX_WAKE, 1) = 1
futex(0x2a68f70, FUTEX_WAKE, 1) = 1
futex(0xc82002ad08, FUTEX_WAKE, 1) = 1
и так по кругу
никакие клиентские команды не срабатывают
походу это вот оно: https://github.com/docker/docker/issues/13885


Alexander
19.09.2016
09:33:18
Попробовав docker swarm mode решил вернуться к k8s, как советовали :)
Вопрос, с какой версии начать ? В google шустро штампуют релизы.

Fike
19.09.2016
09:34:44
С текущей?

Google

Fike
19.09.2016
09:35:12
Я немного отвлекся от всей темы, но, насколько понимаю, 1.3.5 - текущая, и в ней закрыли некоторые бесячие баги с кубеднс

Dmitriy
19.09.2016
09:36:48
1.3.7 текущая https://github.com/kubernetes/kubernetes/releases
Кто вписал kubernetes в CI/CD pipeline? Т.е как происходит деплой проектов, запуск тестов и прочее, как хранить все конфигурации проектов (configMap, services, deployments, etc). У нас сейчас jenkins + ansible+ bash, но что-то это нифига не удобно, пробую переписать все что есть на баше и ansible на Golang

Fike
19.09.2016
09:41:10
у меня простенькая приложуха на руби, рендерит liquid-шаблоны и затем прогоняет apply -f по каталогам. создание кластера и настройка kubectl через gcloud. все внутри дженкинса.
(если честно, так ни разу и не запустил весь пайплайн, перекинули на другой проект)

Dmitriy
19.09.2016
09:42:13
ну вот когда количество приложений растет и логика становится все сложнее и сложнее то приходится писать костыли
helm и helmc чет не зашел

Andrey
19.09.2016
09:42:47
у меня кубик на гугле, щас играюсь с CI на базе circleci

Dmitriy
19.09.2016
09:42:48
не слишком гибко настраивается

Andrey
19.09.2016
09:42:53
вот такой пайп пока сделал:
https://gist.github.com/afoninsky/110148adcb12e00bace40e4c1c25ee18

Fike
19.09.2016
09:43:37
ну у меня там по проектам все расположено. в проекте директории namespace, deployment, petset, service, etc с произвольной структурой внутри. логически подразумевается, что в одном проекте один неймспейс.

Fike
19.09.2016
09:45:44
Не сказал бы, что это сильно забивается. Единственное, чего не хватает - это итерации шаблона (e.g. создать деплойменты elastic-1, elastic-2, elastic-3 для тех случаев, когда нужна промежуточная штука между петсетом и деплойментом), но там свои проблемы и надо еще кучу времени портатить, я забил на это.

Dmitriy
19.09.2016
09:48:36
Ну вот это у тебя простой кейс получается, а если у тебя например 10 микросервисов, в каждом нужно билдить разное количество docker images, так же перед деплоем запускать разные тесты, блокируещие и нет, артифакты тестов выкладывать куда-то, слать нотификации в слаку и прочее. CricleCI поможет в этом?
миграции на бд у нас накатываются через kubernetes jobs, если джоба зафейлилась, надо фейлить весь билд

Andrey
19.09.2016
09:50:02
circleci поможет потому что там пайплайн в той же репе что и микросервис... только блокирующего поведения у них нет, по крайней мере в доках я не нашел, не сделать так "тестер Марина провела быстрый смоук и подтвердила что все ок на стажинге так что можно деплоить в прод"
но в целом если что-то сложное то надо какой-нить jenkins

Dmitriy
19.09.2016
09:51:02
ну вот у нас дженкинс, но вся логика работы с кластером на баше написана

Andrey
19.09.2016
09:52:27
я хз есть здесь мантейнеры дженкинса2, но я пытался внедрить его в прод и неплохо так говна поел (нерабочие версии плагинов и прочее)
скорее всего я такой криворук и система нормальная, но в текущий воркфлоу так и не подошла :(
так что я в поисках рабочей CI до сих пор:)

Google

Fike
19.09.2016
09:53:30
Да с дженкинсом всегда так, это норма. concourse-то смотрел?

Andrey
19.09.2016
09:53:44
пока забил, но галочку поставил, спасибо :)

kay
19.09.2016
10:41:05
Коллеги, а есть возможность задать путь к emptydir в kubernetes? а то у меня grafana pod сожрал весь /var/lib.

Maxim
19.09.2016
10:45:08
походу нет, пока вот это не закроют: https://github.com/kubernetes/kubernetes/issues/13479

Alexander
19.09.2016
11:07:46
1.3.7 кто-то уже пробовал?

Maxim
19.09.2016
11:07:54
работает
через пару часов после релиза примерно обновил

Alexander
19.09.2016
11:08:21
не страшно?

Admin
ERROR: S client not available

Maxim
19.09.2016
11:08:31
археология страшнее
пока что еще обновление минорного релиза ни разу не ломало ничего

Andrey
19.09.2016
12:33:31
О, а у меня все деплойменты в предпоследнем отвалились ( так что я очкую
Гугль

Maxim
19.09.2016
12:33:57
ааа, у тебя расходятся версии
в GKE ты ж апишечкой не рулишь
какую гугол дал, такую и ешь

Dmitriy
19.09.2016
12:35:39
А как кластер обновляете? Через kops?

Maxim
19.09.2016
12:35:53
копс?

Dmitriy
19.09.2016
12:35:57
А то у нас при обновлении постоянно редис кластер разваливается

Maxim
19.09.2016
12:36:05
а, не

Google

Maxim
19.09.2016
12:36:10
у меня chef

Dmitriy
19.09.2016
12:36:14
https://github.com/kubernetes/kops

Maxim
19.09.2016
12:36:27
дада, понял

Dmitriy
19.09.2016
12:36:48
Ну а обновление как происходит? по одной ноде обновляешь?

Maxim
19.09.2016
12:36:53
я просто новый бинарь kubelet'a заношу на ноды и новые манифесты в /etc/kubernetes/manifests
дальше оно само

Dmitriy
19.09.2016
12:37:11
а что за манифесты?

Maxim
19.09.2016
12:37:23
ну которые kubelet запускает
apiserver, controller-manager, scheduler, proxy, etc...

Dmitriy
19.09.2016
12:38:18
Т.е ты руками на каждую ноду что ли заходишь? а если их 20 штук?

Maxim
19.09.2016
12:38:32
у меня chef

Dmitriy
19.09.2016
12:38:40
хитро

Maxim
19.09.2016
12:38:47
https://www.chef.io/

Dmitriy
19.09.2016
12:38:52
Да я в курсе)

Andrey
19.09.2016
12:38:56
@pipopolam а ты вообще хайртшься на сингл джобы? Сори за оффтоп, я тебя не знаю но уже почти люблю ;)

Maxim
19.09.2016
12:39:19
меня за это казнят на основной работе
с одной стороны
с другой стороны, я вон для @DenisIzmaylov тогда весь кластер поднял удаленно
вроде ок