Михаил
ай ты молодец!
Mik
Всем привет, у кого как настроен деплой в GKE, в данный момент все топает гугловой клихой через дженкис+helm, хочется всеже сделать infrastructure as code? Пока вижу реализацию только через terraform
Stas
пиши в родной deployment manager
Mik
он дичайшая дичь, и нахрен набивать руку в том что узко направлено только к гуглу
Stas
У нас описан в нем: -Приватный кластер -Нат гейтвей с правильными роутинг рулами -Шаренная сеть на нат гейтвее в другой проект где хранятся общие сервисы вроде мониторинга и логов
Stas
он дичайшая дичь, и нахрен набивать руку в том что узко направлено только к гуглу
терраформ провайдер для гсп повторяет в модулях апи ресурсов один к одному это раз, он отстает от АПИ ГЦП функционально это два
Mik
логично, насколько он похож по смыслу и синтаксису с клаудформайшн?
Andor
> нахрен набивать руку в том что узко направлено только к амазону
Stas
> нахрен набивать руку в терраформ если в конечном итоге каждый провайдер повторяет ресурсную схему конкретного облака и никакой генерализации там нет
Andor
всё так
Mik
ну мне на прошлом проекте он пришел по наследству, пытаюсь понять насколько долго буду вникать в гугловый
Andor
бля может реально просто на клудформейн перейти
Andor
нахер этот терраформ
Mik
и ещё вопрос кто как крутит там кубик, берет gke или все же хардвей?
Stas
gke - мастера бесплатные, фигач кластер хоть под каждый релиз
Andrey
пиши в родной deployment manager
вы им сами пользуетесь? Я не смог, внятной документации нет
Й
нахер этот терраформ
То вы его просто готовить не умете
Andor
То вы его просто готовить не умете
фразу в отрыве от обсуждения читать? выбор профессионалов!
Stas
вы им сами пользуетесь? Я не смог, внятной документации нет
да, коллега написал, но он любитель жинжи ему норм
Andrey
дело не в jinja, а в доках. Там всё нужное в новой версии, которая, во-первых ещё beta, во-вторых, не описана нормально в доках. Например вы фиг где найдёте, что делает параметр action
Sergei
gke - мастера бесплатные, фигач кластер хоть под каждый релиз
они платные если кластер хоть чуть чуть не микроразмера
Andrey
у AWS почти идеальная документация, и в этом отношению гугловому deployment manager до CloudFormation и Terraform ещё долго расти
Stas
они платные если кластер хоть чуть чуть не микроразмера
Ну вот зачем что-то писать, если ты не пользуешься? Note: Effective 28 November 2017, Kubernetes Engine no longer charges the flat fee per hour per cluster for cluster management, regardless of cluster size.
Igor
Да у DM немного запутанная документация но она достаточна описание апи и примеры присутсвуют все , если хочется копипасты из статеек то тут не прокатит да надо будет почитать. https://cloud.google.com/deployment-manager/docs/reference/latest/ Там кроме джинджи есть питоновская обвязка со своим генератором. а так теже ямлы. Что го темплейт что джинжа один хрен, почитал синтаксис и делаеш. Остальное холивар и нытье
Stas
Для сравнения в Амазон нужно платить 0.2 в час или почти 150 баксов в месяц. У всех отечественных облачных кубоделов подход такой же.
𝚔𝚟𝚊𝚙𝚜
а нафига тебе fencing? в рамках куба нет сети - нода мертва норм кейс
Это не сколько мне, там ребята из mail.ru рассказывали что у них база не переезжает потому что поды и persistentVolume на мертвой ноде помечаются как Unknown и ничего с ними не происходит, и про захардкоженные таймауты в kubernetes
Mik
А что я смотрю в ГКЕ кубик 1.10? они как часто апдейтятся вообще?
Igor
Я уже раза 4 обновлял кластер
Igor
https://cloud.google.com/kubernetes-engine/release-notes
Mik
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
Есть кстати теория, что GKE могут не брать деньги за кластера потому что у них вместо ETCD что-то что пахнет как etcd, но etcd не является
Andor
а этот код имеет отношение к куберу?
Andrey
этот код имеет отношение к обсуждаемому DM
Михаил
и что же это может быть?
Stas
и что же это может быть?
Радуги и единороги?
Михаил
Juriy
Михаил
чубби?
выставлять клиентам внутренний продукт?
Andrey
Я думаю вот тут все более менее рассказано https://docs.python.org/2/index.html
совершенно нерелевантная документация. Если вы не понимаете, о чём я спрашиваю, зачем отвечаете?
Igor
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 Я питоном не пользуюсь более глугоко врятли помогу Думаю чтение документации поможет и анализ возможностей питон либы
Sergei
спаннер возможно можно использовать в этом качестве (не уверен)
Михаил
не напрямую же
а смысл то?
Михаил
а, нашел
Sergei
а смысл то?
етцд не шардится
Sergei
и это не моя теория же. я в Гугле не работаю :)
Andrey
что за gcp-types/bigtableadmin-v2:bigtableadmin.projects.instances.create ?
Andrey
где документация на эти ресурсы?
Stas
совершенно нерелевантная документация. Если вы не понимаете, о чём я спрашиваю, зачем отвечаете?
деплоймент менеджер не накладывает ограничений и не предоставляет нативных инструментов шаблонизации ресурсов. В данном примере шаблонизация сделана на питоне и это круто, потому что в отличие от того же терраформа здесь можно пользоваться нормальными условными операторами и всем прочим.
Andrey
да не про питон вопрос
𝚔𝚟𝚊𝚙𝚜
ну собственно мне кажется в этом кейсе fencing то и не спасет
почему это? простой stateless-сервис: - подписываешься на состояния нод через kubernetes api - если нода ушла в NotReady, проверяешь есть ли на ноде запущенные StatefulSets - выполняешь внешний fencing ноды - убиваешь все Unknown поды с ноды, так же через kubernetes api
𝚔𝚟𝚊𝚙𝚜
в итоге куб подключит волум и перезапустит поды на другой ноде безо всяких проблем
Stas
что за gcp-types/bigtableadmin-v2:bigtableadmin.projects.instances.create ?
https://cloud.google.com/bigtable/docs/reference/admin/rest/v2/projects.instances/create тут
Igor
я не про генерацию питоном. Я про поля, которые оно генерирует. Вот например поле action, откуда оно?
https://cloud.google.com/deployment-manager/docs/configuration/supported-resource-types https://cloud.google.com/bigtable/docs/reference/admin/rest/v2/projects.instances/create Что касается комманды про которую вы говорите это экшен питона для взаимодействия с ресурсом апи Я питоном не пользуюсь Мне сложно подробно ответить Но чтение документации к дм и к питон обвязке точно поможет
Andrey
я перешерстил все доки по DM и нигде не увидел там упоминания поля action
Igor
Это не поле а питоновские "помогалки" Все поля яно описаны в API ПСЗ
Andrey
да без разницы, оно ж не описано нигде
Andrey
почему именно action? Почему не execute, request, ещё что-то?
Andrey
где схема описана, которую генерит этот код?
Igor
Мне кажется вам не стоит пользоваться DM :)))
Igor
И я уже сказал что это не поле апи
Andrey
питоновский генератор генерит yaml для DM. Этот yaml в сыром виде отправляется в DM и DM обрабатывает это поле action
Andrey
я могу этот yaml без всякого питона отправить в dm, и он создаст bigtable
Andrey
но я не понимаю, как он его обрабатывает, и откуда писатель этого кода взял структуру, которую можно отправлять в dm
Andrey
к питону у меня вопросов нет вообще