
Andrey
16.08.2016
09:45:25
Я хз чё это, можно ссылкой?

Maxim
16.08.2016
09:48:07
@vkfont http://bfy.tw/7Ekq

Ivan
16.08.2016
09:48:17
https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/container-init.md

Maxim
16.08.2016
09:48:28
@ivan4th а оно вышло из пропозалс уже?

Google

Andrey
16.08.2016
09:48:43
proposals же

Ivan
16.08.2016
09:48:54
оно alpha в 1.3
но работает

Andrey
16.08.2016
09:49:02
Там и permissions в пропозалс есть
Ок спс, я правда по другому уже решил

Maxim
16.08.2016
11:50:51
обращайся ;)

Andrey
16.08.2016
14:02:39
а кто-нить кубик с тераформом дружил?
ладно, фиг с ним, с терраформом :) попытаю щасться еще раз...
1) создал два репликасета (дата-ноды для кластера эластиксерча), конфиги:
- http://pastebin.com/2QnUXEjV
- http://pastebin.com/KWV0MK6D
2) запускаю обе, но создается только один pod, при этом в "get replicaset" обе реплики висят:
- http://pastebin.com/LaZ00inE
мои варианты:
- не хватает ресурсов кластера для запуска всех подов
- возможно как-то labels влияют и че-то конфликтует
- пытается забраться на одну ноду с одинаковыми портами открытыми
а какой может быть правильным и как его проверить?

Alex Milushev
16.08.2016
16:13:31
а стоп
не, не дружил

Andrey
16.08.2016
16:13:49
да хз я так поверхносто погуглил - какого-то внятного плагина для тераформа не нашел

Google

Alex Milushev
16.08.2016
16:13:53
кубик это k8s как Я понимаю

Andrey
16.08.2016
16:14:03
??

Ivan
16.08.2016
16:18:54
@vkfont labels на template одинаковый в обоих RS. Алсо, рекомендуют таки Deployment использовать, а не RS напрямую

Andrey
16.08.2016
16:19:41
в целом - да, но в доках написано "если вы не будете передеплаивать то и rs сойдет"... скалировать мне сложно так как там перманентные диски
ок попробую с лабелами, спасибо

Ivan
16.08.2016
16:20:57
http://kubernetes.io/docs/user-guide/replicasets/
# selector can be applied automatically
# from the labels in the pod template if not set,
# but we are specifying the selector here to
# demonstrate its usage.

Andrey
16.08.2016
16:22:51
apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
name: es1-rs
spec:
replicas: 1
template:
metadata:
labels:
component: elasticsearch
role: data
name: es1-data
правильно ли я понимаю если я для каждой реплики/деплоя добавлю "name: es{xxx}-data" то лабелы будут уникальными и этого хватит?

Alexander
16.08.2016
16:27:30

Alexander
16.08.2016
18:13:33
А на каких осях собственно собираете k8s?

Alexander
16.08.2016
18:19:39
пока исключительно CoreOS
Кластер динамический от 10 до 25 нод (количество нод зависит от нагрузки), AWS и все иммутабельно. Сторадж для базы данных подключается через PersistentVolume (EBS соотвественно)

Alexander
16.08.2016
18:20:29
ясно, я пока тренируюсь на digitalocean

Alexander
16.08.2016
18:20:47
нам не подошли они... загибались ноды
при большой нагрузке
либо я не умею готовить именно DigitalOcean )))

Andrey
16.08.2016
18:22:19
у меня google clound engine проект висит (их обертка над кубернетесом), потихоньку переезжаю на чистый кластер (условно, все равно они денежку берут за обслуживание)

Alexander
16.08.2016
18:22:45
а чистый на своих железках?

Alexander
16.08.2016
18:23:06
а мы на Амазоне выбрали спотовое железо. Для наших задач вполне отлично подходит.

Andrey
16.08.2016
18:23:57

Alexander
16.08.2016
18:23:59
так вот c3.large на ноду выходит продуктивнее чем такой же сервер на DigitalOcean. Конечно все субъективно... если будет время позже сделаю бенчмарк

Google

Maxim
16.08.2016
19:13:27
у меня на bare metal
задавайте ваши ответы ;)

Andrey
16.08.2016
19:14:45
тут не ответы задавать, тут жалеть надо... ну это имхо :)

Ivan
16.08.2016
19:24:30
> @vkfont
правильно ли я понимаю если я для каждой реплики/деплоя добавлю "name: es{xxx}-data" то лабелы будут уникальными и этого хватит?
да

Mihail
16.08.2016
19:25:41

Denis
17.08.2016
08:15:59
В блоге Deis опубликовали небольшую статью (на мануал это, увы, не тянет) о настройке мониторинга Kubernetes кластера с помощью Heapster+InfluxDB+Grafana. Выглядит интересно и, судя по всему, практически не требует конфигурации, работая из коробки.
http://amp.gs/8UdY

Zon
17.08.2016
08:18:10
▫️Какой у вас проект или где работаете?
commercetools.de, ecommerce SaaS
▫️В чём вы специалист?
CI, CD, CM
▫️Чем можете быть интересны или полезны сообществу?
Могу отвечать на вопросы, могу не отвечать
▫️Чем интересно сообщество вам?
к8с внедряю
▫️Откуда вы?
Берлин
▫️Как узнали про группу?
из ламповой докер группы
#whois
Собственно говоря вопрос - с какими CD решениями вы используете к8с?

Denis
17.08.2016
08:19:55
Привет) прекрасное решение от Cloudflare - concourse.ci

Zon
17.08.2016
08:25:01
И да, всем привет) раньше я был известен как тимлид девопсов в onetwotrip

Denis
17.08.2016
08:32:55
С Маратом Дядько успели поработать?)

Zon
17.08.2016
08:33:37

Denis
17.08.2016
08:34:23
Есть ресурс k8s, в него пишется данные образа, когда собран, он в свою очередь вызывает kubectl apply ?

Zon
17.08.2016
08:35:34
Почему никто не использует api.. А как проверяется, что деплой успешен?

Mars
17.08.2016
08:45:20

Zon
17.08.2016
08:46:08
просто apply не гарантирует, что всё успешно накатилось. даже rollout status иногда этого не гарантирует

Maxim
17.08.2016
08:46:58
... и даже rollout undo не всегда гарантирует

Zon
17.08.2016
08:47:52
в общем как-то не безопасно. Если билд “зелёный” приложение должно быть рабочим иначе зачем

Denis
17.08.2016
08:49:57
Так есть же health с версией )

Google

Maxim
17.08.2016
08:50:16
с версией?

Denis
17.08.2016
08:50:33
Кто нибудь кстати осилил build ID вставлять в semver-resource?

Maxim
17.08.2016
08:51:45
версионирование - отдельная боль
мы пока что написали скрипт, делающий следующее:
- инкремент версии образа в деплоймент.ямле
- коммит и тег с инкрементнутой версией
- пуш
(в этом месте билдер на квае возбуждается и собирает образ с версией из гит-тега)
- kubectl apply -f /path/to/deployment.yaml

Zon
17.08.2016
08:54:55

Maxim
17.08.2016
08:55:17
ггг

Denis
17.08.2016
08:57:23
На самом деле версия должна не к коммиту, а именно к сборке относиться :) Потому что сборка чаще всего - это набор реп (соответсвенно разные ID коммитов), плюс от случая к случаю могут быть какие-то race condition
У нас просто реальная микросервисная архитектура :)
Со всей этой сложностью

Maxim
17.08.2016
08:59:02
> На самом деле версия должна не к коммиту, а именно к сборке относиться
очевидно. в моем случае сборочный тег навешивается не на каждый коммит в код приложения же, а только для сборки

Denis
17.08.2016
08:59:44
В semver-resource для Concourse CI можно делать build ID (meta-блок в стандарте semver)

Maxim
17.08.2016
08:59:54
ну и я нигде не говорил, что мое решение чем-то лучше нормального CD/CI ;)

Denis
17.08.2016
09:00:17
А что кстати используешь?

Maxim
17.08.2016
09:00:54
так если бы у меня были нормальные CD/CI, то зачем бы мне было нужно это велосипедостроительство

Denis
17.08.2016
09:01:27
:))

Maxim
17.08.2016
09:01:31
вообще говоря, началось все с того, что начальство потребовало волшебную кнопку
типа: этот ваш kubectl - это дохрена сложно, а нам нужна волшебная кнопка, чтобы последний верстальщик справился
ну и пришлось колхозить кнопку для верстальщиков
они ей даже пользуются
о кстати

Google

Maxim
17.08.2016
09:04:56
пока тут такая движуха и куча живого народу
попробую спросить еще разок
а как восстанавливаться из результатов etcdctl backup?

Denis
17.08.2016
09:06:25

Zon
17.08.2016
09:06:52

Mars
17.08.2016
09:07:24

Denis
17.08.2016
09:08:56

Maxim
17.08.2016
09:11:34
не, никто etcd не бэкапит? ;)

Denis
17.08.2016
10:14:47
Если честно, пока не бэкапим :) Чем это чревато?
Если что можно здесь продолжить: https://telegram.me/coreos_ru

Alexander
17.08.2016
10:18:09
О, огонь. Спс

Maxim
17.08.2016
10:51:11
там тоже не бэкапят, похоже :(
чревато это потерей кластера, потому что etcd - основная дб для кубернетеса

Timothy
17.08.2016
10:55:41
в самой же гореос есть готовые сервисы для systemd: https://github.com/coreos/etcd/tree/master/contrib/systemd/etcd2-backup-coreos

Denis
17.08.2016
10:56:15
А как ты сейчас бэкап организовал?
можешь куском из cloud-config поделиться? :)

Maxim
17.08.2016
10:57:05
какой клауд-конфиг, у меня bare metal ;)