Обновить terraform/main.tf

This commit is contained in:
2025-12-28 07:25:34 +00:00
parent 54b6f70ecf
commit defaa85066

View File

@@ -1,34 +1,57 @@
api_token = "root@pam!terraform=7efd89b1-7cbc-46be-a47f-f7523837b28a"
terraform { terraform {
required_providers { required_providers {
proxmox = { proxmox = {
source = "bpg/proxmox" source = "bpg/proxmox"
version = "0.70.0" # Актуальная версия на 2025 version = "0.70.0"
} }
} }
# Backend для хранения стейта в Gitea
backend "http" {}
} }
provider "proxmox" { provider "proxmox" {
endpoint = "https://10.33.33.10:8006/" endpoint = var.proxmox_api_url
api_token = "root@pam!terraform=7efd89b1-7cbc-46be-a47f-f7523837b28a" api_token = "${var.proxmox_api_token_id}=${var.proxmox_api_token_secret}"
insecure = true insecure = true
} }
resource "proxmox_virtual_machine" "k8s_node" { resource "proxmox_virtual_machine" "k8s_nodes" {
count = 3 for_each = var.vm_nodes
name = "k8s-node-${count.index}" name = each.value.name
node_name = "pve" node_name = "pve" # Имя вашего узла в Proxmox
vm_id = each.value.id
cpu { cores = 4 } cpu {
memory { dedicated = 8192 } cores = 2
}
network_device { bridge = "vmbr0" } memory {
dedicated = 4096
os {
debian_referencing_standard = true # Proxmox 9 базируется на Debian 13
} }
backend "http" { network_device {
# Адрес формируется динамически в Semaphore bridge = "vmbr0"
} }
disk {
datastore_id = "local-lvm"
file_id = "local:iso/debian-13-generic-amd64.iso" # Ваш образ
interface = "virtio0"
size = 20
}
initialization {
ip_config {
ipv4 {
address = "${each.value.ip}/24"
gateway = "10.33.33.1"
}
}
user_account {
username = "ubuntu"
keys = ["ssh-ed25519 AAAAC3..."] # ВАШ ПУБЛИЧНЫЙ КЛЮЧ
}
}
} }