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 ;)