Files
Proxmox_k3_deployment/main.tf
2022-04-07 17:19:22 -04:00

117 lines
1.7 KiB
HCL

terraform {
required_providers {
proxmox = {
source = "telmate/proxmox"
version = "2.9.6"
}
}
}
provider "proxmox" {
pm_api_url = var.proxmox_api_url
pm_api_token_id = var.apiTokenID
pm_api_token_secret = var.apiToken
pm_tls_insecure = true
pm_timeout = 1200
pm_log_enable = true
pm_log_file = "terraform-plugin-proxmox.log"
pm_log_levels = {
_default = "debug"
_capturelog = ""
}
}
resource "proxmox_vm_qemu" "k8master" {
count = 1
name = "FCOS-K3Master-1"
target_node = var.proxmox_host
clone = var.template_name
pool = "${var.vm_pool}"
agent = 1
os_type = "cloud-init"
cores = 2
sockets = 2
cpu = "host"
memory = 2048
scsihw = "virtio-scsi-pci"
bootdisk = "scsi0"
vmid = "3120"
disk {
slot = 0
size = "10G"
type = "scsi"
storage = "${var.vm_storage_disk}"
}
network {
model = "virtio"
bridge = "${var.vm_network_bridge}"
}
lifecycle {
ignore_changes = [
network,
]
}
ssh_user = "${var.ssh_user}"
sshkeys = "${var.ssh_key}"
timeouts {
create = "30m"
delete = "2h"
}
}
resource "proxmox_vm_qemu" "k8runner" {
count = 3
name = "FCOS-K3Runner-${count.index + 1}"
target_node = var.proxmox_host
clone = var.template_name
pool = "${var.vm_pool}"
agent = 1
os_type = "cloud-init"
cores = 2
sockets = 2
cpu = "host"
memory = 2048
scsihw = "virtio-scsi-pci"
bootdisk = "scsi0"
vmid = "313${count.index}"
disk {
slot = 0
size = "10G"
type = "scsi"
storage = "${var.vm_storage_disk}"
}
network {
model = "virtio"
bridge = "${var.vm_network_bridge}"
}
lifecycle {
ignore_changes = [
network,
]
}
ssh_user = "${var.ssh_user}"
sshkeys = "${var.ssh_key}"
timeouts {
create = "30m"
delete = "2h"
}
}