
Михаил
10.08.2018
11:40:02

Fike
10.08.2018
11:40:23

kvaps
10.08.2018
11:40:27
ну или плюнуть на все и просто softdog заюзать

Михаил
10.08.2018
11:40:36
ай ты молодец!

Google

Robert
10.08.2018
11:40:37

True
10.08.2018
12:02:58
Всем привет, у кого как настроен деплой в GKE, в данный момент все топает гугловой клихой через дженкис+helm, хочется всеже сделать infrastructure as code? Пока вижу реализацию только через terraform

Stas
10.08.2018
12:17:04
пиши в родной deployment manager

True
10.08.2018
12:18:14
он дичайшая дичь, и нахрен набивать руку в том что узко направлено только к гуглу

Stas
10.08.2018
12:18:29
У нас описан в нем:
-Приватный кластер
-Нат гейтвей с правильными роутинг рулами
-Шаренная сеть на нат гейтвее в другой проект где хранятся общие сервисы вроде мониторинга и логов

True
10.08.2018
12:20:29
логично, насколько он похож по смыслу и синтаксису с клаудформайшн?

Andor
10.08.2018
12:22:53
> нахрен набивать руку в том что узко направлено только к амазону

Stas
10.08.2018
12:24:05
> нахрен набивать руку в терраформ если в конечном итоге каждый провайдер повторяет ресурсную схему конкретного облака и никакой генерализации там нет

Andor
10.08.2018
12:24:42
всё так

True
10.08.2018
12:24:53
ну мне на прошлом проекте он пришел по наследству, пытаюсь понять насколько долго буду вникать в гугловый

Andor
10.08.2018
12:24:53
бля может реально просто на клудформейн перейти

Google

Andor
10.08.2018
12:24:58
нахер этот терраформ

True
10.08.2018
12:26:13
и ещё вопрос кто как крутит там кубик, берет gke или все же хардвей?

Stas
10.08.2018
12:26:50
gke - мастера бесплатные, фигач кластер хоть под каждый релиз

Andrey
10.08.2018
12:31:31

Vasilyev
10.08.2018
12:31:34

Михаил
10.08.2018
12:31:53

Vladimir
10.08.2018
12:32:02

Andor
10.08.2018
12:32:51

Stas
10.08.2018
12:33:41

Andrey
10.08.2018
12:35:27
дело не в jinja, а в доках. Там всё нужное в новой версии, которая, во-первых ещё beta, во-вторых, не описана нормально в доках. Например вы фиг где найдёте, что делает параметр action

Sergey
10.08.2018
12:35:43

Andrey
10.08.2018
12:37:17
у AWS почти идеальная документация, и в этом отношению гугловому deployment manager до CloudFormation и Terraform ещё долго расти

Stas
10.08.2018
12:37:21

Sergey
10.08.2018
12:38:15

Igor
10.08.2018
12:46:38
Да у DM немного запутанная документация но она достаточна описание апи и примеры присутсвуют все , если хочется копипасты из статеек то тут не прокатит да надо будет почитать. https://cloud.google.com/deployment-manager/docs/reference/latest/
Там кроме джинджи есть питоновская обвязка со своим генератором. а так теже ямлы.
Что го темплейт что джинжа один хрен, почитал синтаксис и делаеш.
Остальное холивар и нытье

Stas
10.08.2018
12:47:15
Для сравнения в Амазон нужно платить 0.2 в час или почти 150 баксов в месяц. У всех отечественных облачных кубоделов подход такой же.

kvaps
10.08.2018
12:48:00

True
10.08.2018
12:48:24
А что я смотрю в ГКЕ кубик 1.10? они как часто апдейтятся вообще?

Igor
10.08.2018
12:48:52
Я уже раза 4 обновлял кластер
https://cloud.google.com/kubernetes-engine/release-notes

Google

True
10.08.2018
12:51:32
Kubernetes 1.11.0-gke.1 clusters are now available for whitelisted early-access users. Non-whitelisted users can specify version 1.11.0-gke.1 in Alpha Clusters.

Stas
10.08.2018
12:53:42
Есть кстати теория, что GKE могут не брать деньги за кластера потому что у них вместо ETCD что-то что пахнет как etcd, но etcd не является

Andrey
10.08.2018
12:53:46

Andor
10.08.2018
12:54:18
а этот код имеет отношение к куберу?

Andrey
10.08.2018
12:56:16
этот код имеет отношение к обсуждаемому DM

Михаил
10.08.2018
12:57:17
и что же это может быть?

Stas
10.08.2018
12:57:58

Михаил
10.08.2018
12:58:07

Sergey
10.08.2018
12:58:23

Stas
10.08.2018
12:59:28

Михаил
10.08.2018
12:59:33
чубби?
выставлять клиентам внутренний продукт?

Andrey
10.08.2018
13:00:44

Igor
10.08.2018
13:01:22
https://cloud.google.com/deployment-manager/docs/step-by-step-guide/create-a-template
Генерация питоном
На этой страничке примеры в обоих вариациях
Кому то удобнее писать так кому то в ямлах
Перечитайте документацию все станет понятнее
https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters
Основной клас создания кластера. Тут json но он зеркалится в ямл полностью
По факту DM это просто обертка с шаблонизатором для API вызовов GCP
Советую прочитать про питон хелперы при работе с DM
Я питоном не пользуюсь более глугоко врятли помогу
Думаю чтение документации поможет и анализ возможностей питон либы

Sergey
10.08.2018
13:01:26
спаннер возможно можно использовать в этом качестве (не уверен)

Михаил
10.08.2018
13:01:51
а, нашел

Google

Sergey
10.08.2018
13:03:07
и это не моя теория же. я в Гугле не работаю :)

Andrey
10.08.2018
13:03:30
что за gcp-types/bigtableadmin-v2:bigtableadmin.projects.instances.create ?
где документация на эти ресурсы?

Stas
10.08.2018
13:04:45

Andrey
10.08.2018
13:05:00
да не про питон вопрос

kvaps
10.08.2018
13:06:00
ну собственно мне кажется в этом кейсе fencing то и не спасет
почему это?
простой stateless-сервис:
- подписываешься на состояния нод через kubernetes api
- если нода ушла в NotReady, проверяешь есть ли на ноде запущенные StatefulSets
- выполняешь внешний fencing ноды
- убиваешь все Unknown поды с ноды, так же через kubernetes api
в итоге куб подключит волум и перезапустит поды на другой ноде безо всяких проблем

Stas
10.08.2018
13:07:32

Igor
10.08.2018
13:07:39

Andrey
10.08.2018
13:08:15
я перешерстил все доки по DM и нигде не увидел там упоминания поля action

Igor
10.08.2018
13:10:16
Это не поле а питоновские "помогалки"
Все поля яно описаны в API ПСЗ

Andrey
10.08.2018
13:11:17
да без разницы, оно ж не описано нигде
почему именно action? Почему не execute, request, ещё что-то?
где схема описана, которую генерит этот код?

Igor
10.08.2018
13:14:32
Мне кажется вам не стоит пользоваться DM :)))

Google

Igor
10.08.2018
13:14:40
И я уже сказал что это не поле апи

Andrey
10.08.2018
13:17:07
питоновский генератор генерит yaml для DM. Этот yaml в сыром виде отправляется в DM и DM обрабатывает это поле action
я могу этот yaml без всякого питона отправить в dm, и он создаст bigtable
но я не понимаю, как он его обрабатывает, и откуда писатель этого кода взял структуру, которую можно отправлять в dm
к питону у меня вопросов нет вообще

Михаил
10.08.2018
13:19:26

kvaps
10.08.2018
13:19:47
а если не умерла?
если на ней просто kubelet отвалился или сеть
stateless приложение переедет
а для stateful подобного рода костыли нужны

Михаил
10.08.2018
13:24:19

kvaps
10.08.2018
13:24:47
ага, но как?

Михаил
10.08.2018
13:31:13

Igor
10.08.2018
13:31:13
но я не понимаю, как он его обрабатывает, и откуда писатель этого кода взял структуру, которую можно отправлять в dm
https://cloud.google.com/deployment-manager/docs/configuration/templates/create-template-modules
Я думаю там участвует обвязка из темплейтов плагинов и еще кучи интересного
https://github.com/GoogleCloudPlatform/deploymentmanager-samples/blob/b941d1f9b70390d0693d030cfc26843c75b3e165/tools/scheduled-deployments/functions/test/schedule_test.js
Думаю прийдется покапаться в этой репе https://github.com/GoogleCloudPlatform/deploymentmanager-samples
Но это все вам нужно только если нужен питон. Да и я не очень понимаю причем тут кубер

kvaps
10.08.2018
13:31:55
если ты убьешь их просто через куб, это не будет гарантировать что где-то там они прекратили выполняться
по этому и нужен fencing
сначала убиваем ноду, уже только потом убиваем ресурсы в k8s

Igor
10.08.2018
13:34:03

Михаил
10.08.2018
13:45:21