122 lines
2.1 KiB
HCL
122 lines
2.1 KiB
HCL
resource "proxmox_virtual_environment_vm" "master" {
|
|
name = "master01"
|
|
vm_id = 131
|
|
node_name = var.proxmox_node
|
|
pool_id = var.proxmox_pool
|
|
stop_on_destroy = true
|
|
|
|
cpu {
|
|
cores = 2
|
|
type = "host"
|
|
}
|
|
|
|
memory {
|
|
dedicated = 8192
|
|
}
|
|
|
|
scsi_hardware = "virtio-scsi-single"
|
|
|
|
disk {
|
|
datastore_id = "xpen"
|
|
import_from = proxmox_download_file.centos10.id
|
|
interface = "scsi0"
|
|
iothread = true
|
|
size = 100
|
|
}
|
|
|
|
network_device {
|
|
bridge = "vmbr0"
|
|
model = "virtio"
|
|
}
|
|
|
|
boot_order = ["scsi0"]
|
|
|
|
agent {
|
|
enabled = true
|
|
}
|
|
|
|
initialization {
|
|
datastore_id = "local"
|
|
|
|
ip_config {
|
|
ipv4 {
|
|
address = "192.168.1.31/24"
|
|
gateway = var.gateway
|
|
}
|
|
}
|
|
|
|
dns {
|
|
servers = [var.dns_server]
|
|
}
|
|
|
|
user_account {
|
|
username = "cloud-user"
|
|
keys = [trimspace(file("${path.module}/k8s_terraform.pub"))]
|
|
}
|
|
}
|
|
}
|
|
|
|
resource "proxmox_virtual_environment_vm" "workers" {
|
|
for_each = {
|
|
worker01 = { vm_id = 135, ip = "192.168.1.35" }
|
|
worker02 = { vm_id = 136, ip = "192.168.1.36" }
|
|
worker03 = { vm_id = 137, ip = "192.168.1.37" }
|
|
}
|
|
|
|
name = each.key
|
|
vm_id = each.value.vm_id
|
|
node_name = var.proxmox_node
|
|
pool_id = var.proxmox_pool
|
|
stop_on_destroy = true
|
|
|
|
cpu {
|
|
cores = 2
|
|
type = "host"
|
|
}
|
|
|
|
memory {
|
|
dedicated = 12288
|
|
}
|
|
|
|
scsi_hardware = "virtio-scsi-single"
|
|
|
|
disk {
|
|
datastore_id = "xpen"
|
|
import_from = proxmox_download_file.centos10.id
|
|
interface = "scsi0"
|
|
iothread = true
|
|
size = 100
|
|
}
|
|
|
|
network_device {
|
|
bridge = "vmbr0"
|
|
model = "virtio"
|
|
}
|
|
|
|
boot_order = ["scsi0"]
|
|
|
|
agent {
|
|
enabled = true
|
|
}
|
|
|
|
initialization {
|
|
datastore_id = "local"
|
|
|
|
ip_config {
|
|
ipv4 {
|
|
address = "${each.value.ip}/24"
|
|
gateway = var.gateway
|
|
}
|
|
}
|
|
|
|
dns {
|
|
servers = [var.dns_server]
|
|
}
|
|
|
|
user_account {
|
|
username = "cloud-user"
|
|
keys = [trimspace(file("${path.module}/k8s_terraform.pub"))]
|
|
}
|
|
}
|
|
}
|