homelab/terraform/k3s.tf

102 lines
No EOL
2.1 KiB
HCL

locals {
master_count = 3
agents_count = 4
master_targets = ["zeus", "hades", "poseidon"]
agent_targets = ["hermes", "ares", "oceanus", "hyperion"]
}
resource "proxmox_vm_qemu" "masters" {
count = local.master_count
name = "mester-${count.index}"
desc = "K3S master node"
target_node = local.master_targets[count.index]
agent = 1
onboot = true
clone = "VM 9000"
cores = 4
sockets = 1
cpu = "host"
memory = 4096
# Setup the disk
disks {
ide {
ide2 {
cloudinit {
storage = "cronus_backup"
}
}
}
scsi {
scsi0 {
disk {
size = "10G"
storage = "maskin"
}
}
}
}
network {
bridge = "vmbr0"
model = "virtio"
}
scsihw = "virtio-scsi-pci"
os_type = "cloud-init"
ipconfig0 = "ip=192.168.1.${80+count.index}/24,gw=192.168.1.1"
nameserver = "192.168.1.69"
ciuser = "ansible"
sshkeys = var.ssh_public_key
}
resource "proxmox_vm_qemu" "agents" {
count = local.agents_count
name = "agent-${count.index}"
desc = "K3S agent node"
target_node = local.agent_targets[count.index]
agent = 1
onboot = true
clone = "VM 9000"
cores = 4
sockets = 1
cpu = "host"
memory = 6144
# Setup the disk
disks {
ide {
ide2 {
cloudinit {
storage = "cronus_backup"
}
}
}
scsi {
scsi0 {
disk {
size = "20G"
storage = "maskin"
}
}
}
}
network {
bridge = "vmbr0"
model = "virtio"
}
scsihw = "virtio-scsi-pci"
os_type = "cloud-init"
ipconfig0 = "ip=192.168.1.${40+count.index}/24,gw=192.168.1.1"
nameserver = "192.168.1.69"
ciuser = "ansible"
sshkeys = var.ssh_public_key
}