Ансибл это просто офигенно.
@zhulik мне тераформ лень наоборот :)
@zhulik погоди, я что то сразу не понял, а что ты "дальше" делаешь тераформом? Оно же надо что бы инфру развернуть имея провайдер. Для к3с есть провайдер? Что именно ты им делаешь? Может и мне поможет действительно.
@zhulik я с тераформом почти не знаком, потому заленился разбираться. Им можно развернуть в к3с постгрю, минио и прочие сервисы?
@3draven любыми ресурсами кубера можно управлять, и хельмом тоже https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs
https://registry.terraform.io/providers/hashicorp/helm/latest/docs
@zhulik а запустить тераформ из ансибла можно? Что бы просто был один плейбук, который раскатает все. Я так понимаю у тераформа преимущество только в краткости и готовых провайдерах, но все равно с нуля все ансиблом делать. Что бы два раза не возится с разными штуками и иметь одну команду на раскатку. Или это принято по другому делать?
@3draven ну это типа 2 разных слоя: ансибл базово готовит ОС серверов, а терраформ уже то, что на них запускается. В моем случае я меняю и запускаю плейбук раз в 100 реже, чем терраформ, поэтому смысла интегрировать их я не вижу: тупо медленно будет ради ничего.
@zhulik я правильно понимаю, что тераформ берет провайдер как слой абстракции и еа любом провайдере с одними и теми же настройками может развернуть постгрю? Он время по сравнению с ансиблом экономит при написании деплоя, это проще чем ансиблом все раскатать?
@zhulik мне надо себе максимально облегчить жизнь, так как и без того много возни.
@3draven не, провайдер это не абстракция, это просто маппинг ресурсов платформы в HCl. Создать постгрю в кубере, в aws rds или в azure это три большие разницы с тз терраформа. Переносимо будет если у тебя и там и там все в кубере сидит, не важно managed или нет.
@zhulik тогда в чем плюс по сравнению с ансиблом? Мне надо развернуть инфру на свои три с половиной калеки сервиса. Тераформ мне жизнь облегчит? :)
@3draven на три с половиной, наверно, усложнит. Но когда и если сервисов станет больше, с терраформом и кубером будет проще кмк
@zhulik тогда пока отложу, мне не так много надо. Если бы ему можно было прям сказать "разверни постгрес вон там, и пару настроек" было бы полезно. Но пока, масштаб не тот.
@zhulik а как ты к3с разворачиваешь, есть проверенные ансибл плейбуки или сам писал?
@3draven там одна команда буквально, k3sup, для control plane одни параметры, для воркеров другие. Есть, наверно, готовые плейбуки, но мне лень искать было
@zhulik а потом постгря и прочие сервисы уже в тераформе?
@3draven ага, через провайдер для хельма. Имей в виду ещё, что у кубера есть своя бд, k3s поставляется с etcd, и ее желательно бэкапать на всякий
@zhulik а если я хочу поставить свой кастомный сервис в к3с, это делать тераформом можно или ансиблом придется?
@3draven терраформом, тебе нужно будет контейнеризовать твой сервис, и как минимум создать deployment или stateful set в зависимости от сервиса. Скорее всего ещё нужен будет service, и, если http, то ещё ingress. K3s поставляется с cert manger, можно без особой возни получить https от let's encrypt, и оно его само продлевать будет
@zhulik спасибо, примерно понятно. То есть терраформ по сути будет содержать ямл, настраивающий провайдер, ямла, описывающий набор контейнеров, которые нужно развернуть в кубере и настройки контейнеров?
@zhulik ну то есть терраформ это по сути докер композ для поддерживаемых провайдеров?
@3draven ну им не только контейнерами можно командовать, например, вообще всеми сервисами AWS/Azure/GCloud/DO, или в той же посгре базы создавать. Буквально чем угодно, у чего есть api, и для чего есть провайдер. Если провайдера нет - можно написать
@3draven ну типа, но ямла там можно вообще не касаться, вместо него HCl.
@zhulik тогда надо по разбираться, мне композ нравится. Удобно описать все контейнеры, их взаимосвязи и не возиться с конкретными командами. Убедил, надо поглядеть :) Что за hci я не знаю :)
@3draven k3s - "дистрибутив" кубера, предназначенный для голого железа и всякой эмбедовки/эдж. Все, что работает с кубером, работает с к3с. С терраформом можно декларативно описать ресурсы и терраформ это раскатает. Разница с традиционным ямлом в том, что язык сильно приятнее, ты всегда четко видишь, какие изменения к кластеру применяются, и можешь легко референсить один ресурс из другого. Через него же можно управлять и постгрей, и минио, и ещё кучей всего, что он же сам в кластер и поставил
@3draven использую только чтобы базово настроить ос, вайргард и поставить k3s, дальше терраформ. Поддерживать много ямла это боль больская