From 91a91dc26a6bed44c0dd5aa92dd3f39192f70d5c Mon Sep 17 00:00:00 2001 From: ogrechko Date: Sun, 28 Dec 2025 10:07:52 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20terraform/main.tf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- terraform/main.tf | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/terraform/main.tf b/terraform/main.tf index 05b9cf9..ff6e82e 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -1,13 +1,36 @@ +terraform { + required_providers { + # Мы называем локальный алиас "proxmox" + proxmox = { + source = "bpg/proxmox" + version = "0.70.0" + } + } + backend "http" {} +} + +provider "proxmox" { + endpoint = var.proxmox_api_url + api_token = "${var.proxmox_api_token_id}=${var.proxmox_api_token_secret}" + insecure = true + ssh { + agent = false + } +} + resource "proxmox_virtual_machine" "k8s_nodes" { + # Явно указываем, какой провайдер использовать для этого ресурса + provider = proxmox + for_each = var.vm_nodes - node_name = "pve-main" + node_name = "pve" name = each.value.name vm_id = each.value.id - # Указываем клонирование шаблона + # Мы перешли на клонирование шаблона (Шаг 9000 из прошлой инструкции) clone { - vm_id = 9000 # ID шаблона, который мы создали выше + vm_id = 9000 } cpu { @@ -23,15 +46,13 @@ resource "proxmox_virtual_machine" "k8s_nodes" { bridge = "vmbr0" } - # Диск теперь настраивается через переопределение диска шаблона disk { datastore_id = "local-lvm" - interface = "scsi0" # Тот же интерфейс, что в шаблоне + interface = "scsi0" size = 20 } initialization { - # Эти параметры Cloud-Init применит к склонированной машине ip_config { ipv4 { address = "${each.value.ip}/24" @@ -40,7 +61,7 @@ resource "proxmox_virtual_machine" "k8s_nodes" { } user_account { username = "ubuntu" - keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPkMcT6PGm4xwBlwwwLkzdzTF/pgtADIcdejf5xALbxQ semaphore-gitea-key"] # Твой ключ + keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPkMcT6PGm4xwBlwwwLkzdzTF/pgtADIcdejf5xALbxQ semaphore-gitea-key"] } } } \ No newline at end of file