1.9 KiB
Что содержит проект
Модуль OpenTofu для создания Kubernetes-нод в Proxmox. Генерацию cloud-init конфигураций. Параметризованную выдачу VMID, IP, hostname. Готовый root-конфиг, использующий модуль k8s-node. Возможность добавлять и удалять конкретные ноды без count. Подготовку виртуальных машин к установке Kubernetes.
Структура репозитория ├── README.md ├── locals.tf ├── main.tf ├── modules │ └── k8s-node │ ├── cloud-config │ ├── locals.tf │ ├── main.tf │ ├── outputs.tf │ └── variables.tf ├── outputs.tf ├── providers.tf ├── terraform.tfstate ├── terraform.tfstate.backup ├── terraform.tfvars └── variables.tf
Быстрый старт
- Инициализация проекта tofu init
- Проверка плана tofu plan
- Создание инфраструктуры tofu apply
После выполнения этой команды Proxmox создаст виртуальные машины, сгенерирует userdata для cloud-init и развернёт требуемые ноды.
Управление нодами Модуль принимает объект вида:
nodes = { master1 = { role = "master", cpu = 2, memory = 4096 } worker1 = { role = "worker", cpu = 2, memory = 4096 } worker2 = { role = "worker", cpu = 2, memory = 4096 } }
Вы можете:
Добавить новую ноду, просто вписав её в map. Удалить ноду, удалив её ключ из map. Иметь несколько кластеров, копируя модуль в разные окружения.