Anonymous
ладно, фиг с ним, с терраформом :) попытаю щасться еще раз...
1) создал два репликасета (дата-ноды для кластера эластиксерча), конфиги:
- http://pastebin.com/2QnUXEjV
- http://pastebin.com/KWV0MK6D
2) запускаю обе, но создается только один pod, при этом в "get replicaset" обе реплики висят:
- http://pastebin.com/LaZ00inE
мои варианты:
- не хватает ресурсов кластера для запуска всех подов
- возможно как-то labels влияют и че-то конфликтует
- пытается забраться на одну ноду с одинаковыми портами открытыми
а какой может быть правильным и как его проверить?
Lex
Lex
а стоп
Lex
не, не дружил
Anonymous
да хз я так поверхносто погуглил - какого-то внятного плагина для тераформа не нашел
Lex
кубик это k8s как Я понимаю
Anonymous
👍🏿
Ivan
@vkfont labels на template одинаковый в обоих RS. Алсо, рекомендуют таки Deployment использовать, а не RS напрямую
Anonymous
в целом - да, но в доках написано "если вы не будете передеплаивать то и rs сойдет"... скалировать мне сложно так как там перманентные диски
Anonymous
ок попробую с лабелами, спасибо
Ivan
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.
Anonymous
apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
name: es1-rs
spec:
replicas: 1
template:
metadata:
labels:
component: elasticsearch
role: data
name: es1-data
Anonymous
правильно ли я понимаю если я для каждой реплики/деплоя добавлю "name: es{xxx}-data" то лабелы будут уникальными и этого хватит?
Alexander
А на каких осях собственно собираете k8s?
Alexander
пока исключительно CoreOS
Кластер динамический от 10 до 25 нод (количество нод зависит от нагрузки), AWS и все иммутабельно. Сторадж для базы данных подключается через PersistentVolume (EBS соотвественно)
Alexander
ясно, я пока тренируюсь на digitalocean
Alexander
нам не подошли они... загибались ноды
Alexander
при большой нагрузке
Alexander
либо я не умею готовить именно DigitalOcean )))
Anonymous
у меня google clound engine проект висит (их обертка над кубернетесом), потихоньку переезжаю на чистый кластер (условно, все равно они денежку берут за обслуживание)
Alexander
а чистый на своих железках?
Alexander
а мы на Амазоне выбрали спотовое железо. Для наших задач вполне отлично подходит.
Alexander
так вот c3.large на ноду выходит продуктивнее чем такой же сервер на DigitalOcean. Конечно все субъективно... если будет время позже сделаю бенчмарк
Maxim
у меня на bare metal
Maxim
задавайте ваши ответы ;)
Anonymous
тут не ответы задавать, тут жалеть надо... ну это имхо :)
Ivan
> @vkfont
правильно ли я понимаю если я для каждой реплики/деплоя добавлю "name: es{xxx}-data" то лабелы будут уникальными и этого хватит?
да
Mihail
Denis
В блоге Deis опубликовали небольшую статью (на мануал это, увы, не тянет) о настройке мониторинга Kubernetes кластера с помощью Heapster+InfluxDB+Grafana. Выглядит интересно и, судя по всему, практически не требует конфигурации, работая из коробки.
http://amp.gs/8UdY
Zon
▫️Какой у вас проект или где работаете?
commercetools.de, ecommerce SaaS
▫️В чём вы специалист?
CI, CD, CM
▫️Чем можете быть интересны или полезны сообществу?
Могу отвечать на вопросы, могу не отвечать
▫️Чем интересно сообщество вам?
к8с внедряю
▫️Откуда вы?
Берлин
▫️Как узнали про группу?
из ламповой докер группы
#whois
Zon
Собственно говоря вопрос - с какими CD решениями вы используете к8с?
Denis
Привет) прекрасное решение от Cloudflare - concourse.ci
Zon
Zon
И да, всем привет) раньше я был известен как тимлид девопсов в onetwotrip
Denis
С Маратом Дядько успели поработать?)
Zon
Denis
Есть ресурс k8s, в него пишется данные образа, когда собран, он в свою очередь вызывает kubectl apply 🚀
Zon
Почему никто не использует api.. А как проверяется, что деплой успешен?
Zon
просто apply не гарантирует, что всё успешно накатилось. даже rollout status иногда этого не гарантирует
Maxim
... и даже rollout undo не всегда гарантирует
Zon
в общем как-то не безопасно. Если билд “зелёный” приложение должно быть рабочим иначе зачем
Denis
Так есть же health с версией )
Maxim
с версией?
Denis
Кто нибудь кстати осилил build ID вставлять в semver-resource?
Maxim
версионирование - отдельная боль
Maxim
мы пока что написали скрипт, делающий следующее:
- инкремент версии образа в деплоймент.ямле
- коммит и тег с инкрементнутой версией
- пуш
(в этом месте билдер на квае возбуждается и собирает образ с версией из гит-тега)
- kubectl apply -f /path/to/deployment.yaml
Zon
Maxim
ггг
Denis
На самом деле версия должна не к коммиту, а именно к сборке относиться :) Потому что сборка чаще всего - это набор реп (соответсвенно разные ID коммитов), плюс от случая к случаю могут быть какие-то race condition
Denis
У нас просто реальная микросервисная архитектура :)
Denis
Со всей этой сложностью
Maxim
> На самом деле версия должна не к коммиту, а именно к сборке относиться
очевидно. в моем случае сборочный тег навешивается не на каждый коммит в код приложения же, а только для сборки
Denis
В semver-resource для Concourse CI можно делать build ID (meta-блок в стандарте semver)
Maxim
ну и я нигде не говорил, что мое решение чем-то лучше нормального CD/CI ;)
Denis
А что кстати используешь?
Maxim
так если бы у меня были нормальные CD/CI, то зачем бы мне было нужно это велосипедостроительство
Denis
:))
Maxim
вообще говоря, началось все с того, что начальство потребовало волшебную кнопку
Maxim
типа: этот ваш kubectl - это дохрена сложно, а нам нужна волшебная кнопка, чтобы последний верстальщик справился
Maxim
ну и пришлось колхозить кнопку для верстальщиков
Maxim
они ей даже пользуются
Maxim
о кстати
Maxim
пока тут такая движуха и куча живого народу
Maxim
попробую спросить еще разок
Maxim
а как восстанавливаться из результатов etcdctl backup?
Denis
Zon
Oleg
Denis
Maxim
не, никто etcd не бэкапит? ;)
Denis
Если честно, пока не бэкапим :) Чем это чревато?
Denis
Если что можно здесь продолжить: https://telegram.me/coreos_ru
Alexander
О, огонь. Спс
Maxim
там тоже не бэкапят, похоже :(
Maxim
чревато это потерей кластера, потому что etcd - основная дб для кубернетеса
timothy
в самой же гореос есть готовые сервисы для systemd: https://github.com/coreos/etcd/tree/master/contrib/systemd/etcd2-backup-coreos
Denis
А как ты сейчас бэкап организовал?