@kubernetes_ru

Страница 364 из 958
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
не совсем понимаю задачу. Выкинуть порт в интернет и повесить авторизацию не подходит?
Ну задача с траблшутингом нормально решится через порт, думаю. А вообще, например локально запустить тестовый клиент который должен иметь доступ ко всем адресам... Но, скорее всего, я не правильно понимаю концепцию, и нужно использовать ingress

Айбелив
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
Посмотрел тесты... по идее будет достаточно положить db.yml charts: - stable/mysql - stable/postgresql и запустить helm db.yml | kubectl apply -f - ?
чарты хельма — это просто шаблоны, в которые вставляются нужные "значения". helm install --name my-release --namespace production -f my-values-for-prod.yml path_to_chart Если правильно синтаксис помню. Это вариант, где в кластере установлен tiller, ваш вариант выше — это просто генерация шаблона и деплой голым kubectl

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
да, чарт нужно пропустить через хельм и на выходе получатся сконкаченые манифесты кубернетеса (в теории, так ещё не делал)
Ну то есть "правильная" практика - хранить все в манифестах? А как же зависимость от helm? Я запарился.

Айбелив
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
Вот в этом и запар) Меня интересует наиболее поддерживаемый сообществом вариант, похоже что. это helm
да, только вот к хельму существует 2 подхода деплоя: 1. использовать хельм чисто как шаблонизатор и просто генерить манифесты, а потом деплоить через kubectl. 2. использовать helm+tiller.

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
каждый делает как ему нравится, единого подхода как и везде в кубернетесе — нет
Ну вот спрашиваю личного мнения, как мне сохранить конфиг для nginx, mysql

с минимальной дупликацией апстримовского кода

Айбелив
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

это что?

это чарт или пример манифеста или пример параметров для чарта?

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

Айбелив
24.12.2017
17:56:30
это чарт или пример манифеста или пример параметров для чарта?
это values-файл для конкретной сборки той солянки, что доступна в чарте

bebebe
24.12.2017
17:56:47
Ну вот я смотрю в эту сторону.
Респект таким пацанам

Dmitry
24.12.2017
17:57:34
это values-файл для конкретной сборки той солянки, что доступна в чарте
Ок, понял. То есть мне надо как минимум value файл сохранить в репе. далее helm натравить на чарт с этими value.

Admin
ERROR: S client not available

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

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

Айбелив
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 активность упала

"полно"... уже готовых ролей контейнерных. прикольно
от "готовых ролей" до "задеплоил в k8s" есть пропасть размером в две недели

Страница 364 из 958