From 7ffe475cb37d101094b2920fb0545667fec3e915 Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 11 Mar 2026 10:20:09 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=B2=D1=8B=D1=87=D0=B8=D1=81=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20nodes=20=D0=B8=D0=BD=D0=B4=D0=B5=D0=BA?= =?UTF-8?q?=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 58 +++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 2253419..2c91acb 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,51 @@ Что содержит проект Модуль 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 - Быстрый старт -1. Инициализация проекта -tofu init -2. Проверка плана -tofu plan -3. Создание инфраструктуры -tofu apply +1. Инициализация проекта +``` +tofu init +``` +2. Проверка плана +``` +tofu plan +``` +3. Создание инфраструктуры +``` +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 } -} + master1 = { role = "master", cpu = 2, memory = 4096 } + + worker1 = { role = "worker", cpu = 2, memory = 4096 } + + worker2 = { role = "worker", cpu = 2, memory = 4096 } + +} +``` Вы можете: Добавить новую ноду, просто вписав её в map. + Удалить ноду, удалив её ключ из map. + Иметь несколько кластеров, копируя модуль в разные окружения.