
Dmitry
24.12.2017
16:18:55
А как правильно к приватным сервисам обращаться с управляющего компа? Читал про kube-proxy, но не до конца понял, это то. куда надо копать?
Т.е. мне надо по TCP подключиться к одному из портов
...Proxy вроде оно, но только для http...
Или народ подключается к overlay сетям...?

Google

Айбелив
24.12.2017
16:33:00
kubectl port-forward --help подходит?

Dmitry
24.12.2017
16:34:14
думаю для начала вполне, спасибо. Но также хотелось бы получить доступ по ip напрямую чтобы не пробрасывать каждый порт

Айбелив
24.12.2017
16:35:37
не совсем понимаю задачу. Выкинуть порт в интернет и повесить авторизацию не подходит?
VPN внутрь?

Dmitry
24.12.2017
16:37:28

Айбелив
24.12.2017
16:38:18
ну, собственно, я про это и говорил. Как минимум, это нормальная практика

Dmitry
24.12.2017
16:38:46
вообще, 1. можно ли как-то подключиться к weave сети с мака? 2. Так вообще делают?
weave/flannel/calico..

Айбелив
24.12.2017
16:39:42
ну в теории очень даже реально, но на практике такого не видел. Может кто другой ответит

Dmitry
24.12.2017
16:39:55
Ок, мне важно знать что юзают обычные люди))
спасибо
Вот еще, тупой базовый вопрос. (Я пробую мир куба, хотя всю жизнь работаю с амазоном). вот есть helm charts. и есть stable/mysql. В доках написано как вручную задеплоить. А как это запихнуть в что-то а-ля docker-compose? Народ пишет счто создает common.yml, prod.yml итд. Есть где-то базовые примеры структуры репозоитория со всем этим добром?
хочу сориентироваться на низшем уровне, типа "куда мне вписать `stable/mysql`", докер композ все понятно и явно, тут не особо). Копировать charts в свой репозиторий как-то не хочется.

Google

Dmitry
24.12.2017
16:47:53
Посмотрел тесты... по идее будет достаточно положить db.yml
charts:
- stable/mysql
- stable/postgresql
и запустить helm db.yml | kubectl apply -f - ?
(в простейшем виде, конечно)
и да, какие best practices? каждый конфиг под своим неймспейсом запускать?
Ну вот есть деплой kubernetes конфига через ansible, оно вообще одобряется? Модуль kubernetes?

Айбелив
24.12.2017
17:36:14

Dmitry
24.12.2017
17:36:51
Ну ок, а как это запилить в единый конфиг файл?

Айбелив
24.12.2017
17:37:14
что есть конфиг-файл?

Dmitry
24.12.2017
17:37:18
Или нужно чарт отрендерить и сохранить как конфиг куба?
ну, который применим при помощи kubectl apply или ansible
Чтобы в итогде запустить одну команду а она все остальное развернет.

Айбелив
24.12.2017
17:38:10
да, чарт нужно пропустить через хельм и на выходе получатся сконкаченые манифесты кубернетеса (в теории, так ещё не делал)

Dmitry
24.12.2017
17:39:21

Айбелив
24.12.2017
17:39:36
настройки как генерить манифесты находятся в values.yaml, который вы подсовываете хельму в определённый чарт.
Так же можно использовать аргументы, которые переопределяют проперти в values.

Dmitry
24.12.2017
17:39:43
Вот представим, что мы сдаем работу заказчику. Работа должна быть в репозитории, со списком внешних зависимостей

Айбелив
24.12.2017
17:40:38
с хельмом не особо сталкивался, написал свой шаблонизатор на sed'е и не парюсь
да не, прост проще же

Dmitry
24.12.2017
17:41:19
Ну ок, при таком раскладе как разворачивать известный софт который может поддерживаться коммьюнити?
типа mysql

bebebe
24.12.2017
17:41:39

Айбелив
24.12.2017
17:42:38

Google

Dmitry
24.12.2017
17:43:21
Вот в этом и запар) Меня интересует наиболее поддерживаемый сообществом вариант, похоже что. это helm

Айбелив
24.12.2017
17:43:34
это ойти стыд
ну для чего-то сложного — конечно седом не обойтись)
Для ELK писал свой чарт

Dmitry
24.12.2017
17:44:03
helm для коммьюнити, понятно. для своего - шаблонизатор либо манифесты для сред, выходит так?
тогда как хранить свзи с helm чартами?

Айбелив
24.12.2017
17:44:44

Dmitry
24.12.2017
17:45:19
tiller рабоатет как шаблонизатор - деплой на стороне сервера, так?

Айбелив
24.12.2017
17:46:31
Условно — да.
Прочитайте лучше доку по helm:
https://github.com/kubernetes/helm
Краткий ответ: Helm has two parts: a client (helm) and a server (tiller)

Dmitry
24.12.2017
17:46:52
Обязательно. Но все же вопрос, как это все хранится в репе ?
в докер компоуз, например, мы описываем службы и деплоим именно этот файл. Там образы с тех или иных репозиториев явно прописаны... Что у меня в случае с helm (в случае с tiller)? не похоже что я должен хранить манифесты...

Айбелив
24.12.2017
17:48:25
тут тоже несколько подходов. Кому как нравится.
Кто-то хранит чарты\манифесты рядом с софтом, а кто-то отдельный репо только с манифестами\чартами делает.

Dmitry
24.12.2017
17:48:41
Ну вот отдельный репо вариант.

Dmitry
24.12.2017
17:49:08
я хочу задеплоить mysql из чарта по стандарту. Скажем, что мой репо деплоит mysql и nginx. Есть какой-то conventional подход как это все хранить? в доках не особенно про подходы

Айбелив
24.12.2017
17:50:23
каждый делает как ему нравится, единого подхода как и везде в кубернетесе — нет
можете по чату тут поискать, много холиваров было

Dmitry
24.12.2017
17:51:52
с минимальной дупликацией апстримовского кода

Айбелив
24.12.2017
17:53:26
нужно понимать объём приложения, поделить его на логические части, если получится, и деплоить независимыми частями. Хранить как душе угодно.
конкретнее подсказать не могу. На мой взгляд, деплой mysql и nginx — это настолько абстрактно, что можно и без helm-а справиться.

Dmitry
24.12.2017
17:55:22
Я задаю очень базовые вопросы чтобы понять куда складывать дальнейшие знания.

Google

Dmitry
24.12.2017
17:55:26
Ну вот, https://github.com/kubernetes/charts/blob/d284317c2258f4e9d6a870d79db1e4095e441ac3/stable/lamp/examples/wordpress.yaml
это что?
это чарт или пример манифеста или пример параметров для чарта?

bebebe
24.12.2017
17:56:02

Dmitry
24.12.2017
17:56:18
Helm
Ну вот я смотрю в эту сторону.

Айбелив
24.12.2017
17:56:30

bebebe
24.12.2017
17:56:47

Dmitry
24.12.2017
17:57:34

Admin
ERROR: S client not available

Dmitry
24.12.2017
17:58:00
а потом селать kube apply из того что получится, так?

Айбелив
24.12.2017
17:58:16
да, но помните, что chart'ы могут внезапно поменять свой синтаксис и уже вроде и не круто совсем)

Dmitry
24.12.2017
17:58:37

Айбелив
24.12.2017
17:58:40
поэтому тут вариант — форк или submodule

Dmitry
24.12.2017
17:59:19
А, речь про содержание а не синтаксис.

Айбелив
24.12.2017
17:59:53
про сам чарт. Сегодня есть поддержка мускула в этом чарте, а завтра уже нет.

Dmitry
24.12.2017
17:59:54
вот я о чем и задумываюсь, в ansible есть requirements.yml где это все решается, типа requireemnts.txt для python.
Теперь к самому важному. Как мне описать список чартов и сохранить это, а потом натравить н это helm?
Не каждый же раз вручную вводить helm install --name mysql stable/mysql ?

Айбелив
24.12.2017
18:03:50
именно так, для апгрейда и релоада всяких конфигов у хельма есть механизм upgrade

Dmitry
24.12.2017
18:04:49
Ну представим что там 40 чартов для всей инфраструктуры надо. Я даю всю работу заказчику, он должен 40 раз запустить это? или обернуть в bashскрипт? неуженли встроенного механизма зависимостей нет?

Google

Dmitry
24.12.2017
18:04:59
(я доки почитаю, конечно)

Айбелив
24.12.2017
18:05:53
в скрипт
ещё раз напоминаю — хельм по большей части просто шаблонизатор

Dmitry
24.12.2017
18:07:17
ну официально он называется The Kubernetes Package Manager

bebebe
24.12.2017
18:10:05
так же можно обратить внимание на ansible-container
но там порог вхождения/внедрения больше чем helkm

Dmitry
24.12.2017
18:12:55
ммм, спасибо
Видимо как раз то что я искал
но он чарты уже не берет, похоже.
Последний раз когда я его смотрел, это был docker-compose на стеройдах

bebebe
24.12.2017
18:17:01
он с чартами не работает. а умеет сам шипать в k8s/openshift
я бы все таки советовал выкинуть ойти стыд в виде bash templating'га, взять хелм, делать downstream нужных чартов и синкать его через CI
это workflow здорового человека

Dmitry
24.12.2017
18:19:20
bebebe А какие минусы у Ansible Container по сравнению с helm? Там можно как-то неймспейсы выбирать, итд?

bebebe
24.12.2017
18:19:52
да, можно, минусы в том что если вы куда-нибудь придете работать, и будете вместо хелма использовать ansible-container на вас будут смотреть как минимум странно
второе, это особенности сборки, придется отойти от канонов и собирать все самому

Dmitry
24.12.2017
18:20:14
Ну минус такой) относительный)
https://galaxy.ansible.com/jmalacho/kafka/
"полно"... уже готовых ролей контейнерных. прикольно

bebebe
24.12.2017
18:21:15
https://github.com/ansible/ansible-container/graphs/contributors активность упала