Update 3 files

- /terraform/variables.tf
- /terraform/main.tf
- /terraform/defaults.tf
This commit is contained in:
2023-07-26 10:58:32 +00:00
parent 38d5fa4633
commit 696729db2e
3 changed files with 58 additions and 72 deletions

View File

@@ -3,7 +3,7 @@ terraform {
required_providers {
proxmox = {
source = "Telmate/proxmox"
version = "2.9.13"
version = "2.9.14"
}
}
}

View File

@@ -1,86 +1,87 @@
resource "proxmox_vm_qemu" "VM" {
count = 1
ciuser = "administrator"
vmid = "201"
name = "TestVM"
target_node = mothership
clone = Debian12-Template
qemu_os = "other"
full_clone = true
os_type = "cloud-init"
agent = 1
cores = 2
sockets = 1
cpu = "host"
memory = 2048
scsihw = "virtio-scsi-pci"
bootdisk = "scsi0"
boot = "c"
onboot = true
disk {
size = 20G
type = "scsi"
storage = ssd-domains
ssd = 1
backup = false
}
network {
model = "virtio"
bridge = "vmbr1"
}
lifecycle {
ignore_changes = [
network,
]
}
#Cloud Init Settings
ipconfig0 = "ip=192.168.20.20/24,gw=192.168.20.1"
searchdomain = "durp.loc"
nameserver = var.dnsserver
sshkeys = var.sshkeys
}
#k3s
#-----------------------------------------------------
resource "proxmox_vm_qemu" "k3master" {
count = var.k3master.count
ciuser = "administrator"
vmid = "20${var.k3master.ip[count.index]}"
name = var.k3master.name[count.index]
target_node = var.k3master.node[count.index]
clone = var.k3master.template[count.index]
qemu_os = "other"
full_clone = true
os_type = "cloud-init"
agent = 1
cores = var.k3master.cores
sockets = 1
cpu = "host"
memory = var.k3master.memory
scsihw = "virtio-scsi-pci"
bootdisk = "scsi0"
boot = "c"
onboot = true
disk {
size = var.k3master.drive
type = "scsi"
storage = var.k3master.storage
ssd = 1
backup = false
}
network {
model = "virtio"
bridge = "vmbr1"
}
lifecycle {
ignore_changes = [
network,
]
}
#Cloud Init Settings
ipconfig0 = "ip=192.168.20.${var.k3master.ip[count.index]}/24,gw=192.168.20.1"
searchdomain = "durp.loc"
nameserver = var.dnsserver
sshkeys = var.sshkeys
}
resource "proxmox_vm_qemu" "k3server" {
count = var.k3server.count
ciuser = "administrator"
vmid = "20${var.k3server.ip[count.index]}"
name = var.k3server.name[count.index]
target_node = var.k3server.node[count.index]
clone = var.k3server.template[count.index]
qemu_os = "other"
full_clone = true
os_type = "cloud-init"
agent = 1
cores = var.k3server.cores
sockets = 1
cpu = "host"
memory = var.k3server.memory
scsihw = "virtio-scsi-pci"
bootdisk = "scsi0"
boot = "c"
onboot = true
disk {
size = var.k3server.drive[count.index]
type = "scsi"
storage = var.k3server.storage
ssd = 1
backup = false
}
network {
model = "virtio"
bridge = "vmbr1"
}
lifecycle {
ignore_changes = [
network,
]
}
#Cloud Init Settings
ipconfig0 = "ip=192.168.20.${var.k3server.ip[count.index]}/24,gw=192.168.20.1"
searchdomain = "durp.loc"
nameserver = var.dnsserver
sshkeys = var.sshkeys
}
#
#resource "proxmox_vm_qemu" "VM" {
# count = var.k3master.count
# ciuser = "administrator"
# vmid = "20${var.k3master.ip[count.index]}"
# name = var.k3master.name[count.index]
# target_node = var.k3master.node[count.index]
# clone = var.k3master.template[count.index]
# qemu_os = "other"
# full_clone = true
# os_type = "cloud-init"
# agent = 1
# cores = var.k3master.cores
# sockets = 1
# cpu = "host"
# memory = var.k3master.memory
# scsihw = "virtio-scsi-pci"
# bootdisk = "scsi0"
# boot = "c"
# onboot = true
# disk {
# size = var.k3master.drive
# type = "scsi"
# storage = var.k3master.storage
# ssd = 1
# backup = false
# }
# network {
# model = "virtio"
# bridge = "vmbr1"
# }
# lifecycle {
# ignore_changes = [
# network,
# ]
# }
# #Cloud Init Settings
# ipconfig0 = "ip=192.168.20.${var.k3master.ip[count.index]}/24,gw=192.168.20.1"
# searchdomain = "durp.loc"
# nameserver = var.dnsserver
# sshkeys = var.sshkeys
#}

View File

@@ -24,7 +24,7 @@ variable "pm_user" {
default = "root@pam"
}
variable "k3master" {
variable "VM" {
description = "Defaults of master nodes in K3S"
type = object({
count = number
@@ -38,18 +38,3 @@ variable "k3master" {
ip = list(number)
})
}
variable "k3server" {
description = "Defaults of worker nodes in K3S"
type = object({
count = number
name = list(string)
cores = number
memory = number
drive = list(string)
storage = string
template = list(string)
node = list(string)
ip = list(number)
})
}