Compare commits
10 Commits
aea9c95531
...
c7fca3d29c
| Author | SHA1 | Date | |
|---|---|---|---|
| c7fca3d29c | |||
| 3dd8e5ad77 | |||
| ed9d99f25d | |||
| 28228cb305 | |||
| 36821e3176 | |||
| a8533355c5 | |||
| d2e8188327 | |||
| 5552715093 | |||
| 6176f6b9b2 | |||
| a17d0c516c |
@@ -9,7 +9,7 @@ terraform {
|
|||||||
}
|
}
|
||||||
|
|
||||||
provider "proxmox" {
|
provider "proxmox" {
|
||||||
pm_parallel = 3
|
pm_parallel = 1
|
||||||
pm_tls_insecure = true
|
pm_tls_insecure = true
|
||||||
pm_api_url = var.pm_api_url
|
pm_api_url = var.pm_api_url
|
||||||
pm_user = var.pm_user
|
pm_user = var.pm_user
|
||||||
|
|||||||
@@ -3,61 +3,55 @@ locals {
|
|||||||
prd = {
|
prd = {
|
||||||
dnsserver = "192.168.11.1"
|
dnsserver = "192.168.11.1"
|
||||||
tags = "k3s_prd"
|
tags = "k3s_prd"
|
||||||
|
vlan = 11
|
||||||
k3master = {
|
k3master = {
|
||||||
count = 1
|
count = 1
|
||||||
name = ["master-prd"]
|
name = ["master-prd"]
|
||||||
cores = 4
|
cores = 4
|
||||||
memory = "4096"
|
memory = "4096"
|
||||||
drive = "20G"
|
drive = 20
|
||||||
storage = "cache-domains"
|
node = ["overlord"]
|
||||||
template = ["Debian12-Template"]
|
ip = ["10"]
|
||||||
node = ["overlord"]
|
|
||||||
ip = ["10"]
|
|
||||||
vlan = 11
|
|
||||||
}
|
}
|
||||||
k3server = {
|
k3server = {
|
||||||
count = 2
|
count = 2
|
||||||
name = ["node01-prd", "node02-prd"]
|
name = ["node01-prd", "node02-prd"]
|
||||||
cores = 4
|
cores = 4
|
||||||
memory = "4096"
|
memory = "4096"
|
||||||
drive = "80G"
|
drive = 80
|
||||||
storage = "cache-domains"
|
node = ["mothership", "mothership"]
|
||||||
template = ["Debian12-Template", "Debian12-Template"]
|
ip = ["20", "21"]
|
||||||
node = ["mothership", "mothership"]
|
|
||||||
ip = ["20", "21"]
|
|
||||||
vlan = 11
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dev = {
|
dev = {
|
||||||
dnsserver = "192.168.10.1"
|
dnsserver = "192.168.10.1"
|
||||||
tags = "k3s_dev"
|
tags = "k3s_dev"
|
||||||
|
vlan = 10
|
||||||
k3master = {
|
k3master = {
|
||||||
count = 1
|
count = 1
|
||||||
name = ["master-dev"]
|
name = ["master-dev"]
|
||||||
cores = 4
|
cores = 4
|
||||||
memory = "4096"
|
memory = "4096"
|
||||||
drive = "20G"
|
drive = 20
|
||||||
storage = "cache-domains"
|
node = ["overlord"]
|
||||||
template = ["Debian12-Template"]
|
ip = ["10"]
|
||||||
node = ["overlord"]
|
|
||||||
ip = ["10"]
|
|
||||||
vlan = 10
|
|
||||||
}
|
}
|
||||||
k3server = {
|
k3server = {
|
||||||
count = 2
|
count = 2
|
||||||
name = ["node01-dev", "node02-dev"]
|
name = ["node01-dev", "node02-dev"]
|
||||||
cores = 4
|
cores = 4
|
||||||
memory = "4096"
|
memory = "4096"
|
||||||
drive = "60G"
|
drive = 60
|
||||||
storage = "cache-domains"
|
node = ["mothership", "mothership"]
|
||||||
template = ["Debian12-Template", "Debian12-Template"]
|
ip = ["20", "21"]
|
||||||
node = ["mothership", "mothership"]
|
|
||||||
ip = ["20", "21"]
|
|
||||||
vlan = 10
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
default = {
|
default = {
|
||||||
sshkeys = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL88nWIyxN4aYTJCxz2/MiorLeNtoVwir995tOXzdzCr laptop"
|
sshkeys = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL88nWIyxN4aYTJCxz2/MiorLeNtoVwir995tOXzdzCr laptop"
|
||||||
|
template = "Debian12-Template"
|
||||||
|
storage = "cache-domains"
|
||||||
|
emulatessd = true
|
||||||
|
format = "raw"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -65,57 +59,49 @@ locals {
|
|||||||
resource "proxmox_vm_qemu" "k3master" {
|
resource "proxmox_vm_qemu" "k3master" {
|
||||||
count = local.config.k3master.count
|
count = local.config.k3master.count
|
||||||
ciuser = "administrator"
|
ciuser = "administrator"
|
||||||
vmid = "${local.config.k3master.vlan}${local.config.k3master.ip[count.index]}"
|
vmid = "${local.config.vlan}${local.config.k3master.ip[count.index]}"
|
||||||
name = local.config.k3master.name[count.index]
|
name = local.config.k3master.name[count.index]
|
||||||
target_node = local.config.k3master.node[count.index]
|
target_node = local.config.k3master.node[count.index]
|
||||||
clone = local.config.k3master.template[count.index]
|
clone = local.config.template
|
||||||
tags = local.config.tags
|
tags = local.config.tags
|
||||||
qemu_os = "l26"
|
qemu_os = "l26"
|
||||||
full_clone = true
|
full_clone = true
|
||||||
os_type = "cloud-init"
|
os_type = "cloud-init"
|
||||||
agent = 1
|
agent = 1
|
||||||
cores = local.config.k3master.cores
|
cores = local.config.k3master.cores
|
||||||
numa = true
|
|
||||||
hotplug = "network,disk,usb,cpu,memory"
|
|
||||||
sockets = 1
|
sockets = 1
|
||||||
cpu = "host"
|
cpu = "host"
|
||||||
memory = local.config.k3master.memory
|
memory = local.config.k3master.memory
|
||||||
scsihw = "virtio-scsi-pci"
|
scsihw = "virtio-scsi-pci"
|
||||||
#bootdisk = "scsi0"
|
#bootdisk = "scsi0"
|
||||||
boot = "order=scsi0"
|
boot = "order=virtio0"
|
||||||
onboot = true
|
onboot = true
|
||||||
sshkeys = local.config.sshkeys
|
sshkeys = local.config.sshkeys
|
||||||
disks {
|
disks {
|
||||||
ide {
|
ide {
|
||||||
ide2 {
|
ide2 {
|
||||||
cloudinit {
|
cloudinit {
|
||||||
storage = local.config.k3master.storage
|
storage = local.config.storage
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
scsi {
|
virtio {
|
||||||
scsi0 {
|
virtio0 {
|
||||||
disk {
|
disk {
|
||||||
size = local.config.k3master.drive
|
size = local.config.k3master.drive
|
||||||
format = "raw"
|
format = local.config.format
|
||||||
storage = local.config.k3master.storage
|
storage = local.config.storage
|
||||||
emulatessd = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
network {
|
network {
|
||||||
model = "virtio"
|
model = "virtio"
|
||||||
bridge = "vmbr1"
|
bridge = "vmbr0"
|
||||||
tag = local.config.vlan
|
tag = local.config.vlan
|
||||||
}
|
}
|
||||||
lifecycle {
|
|
||||||
ignore_changes = [
|
|
||||||
network,
|
|
||||||
]
|
|
||||||
}
|
|
||||||
#Cloud Init Settings
|
#Cloud Init Settings
|
||||||
ipconfig0 = "ip=192.168.${local.config.k3master.vlan}.${local.config.k3master.ip[count.index]}/24,gw=192.168.10.1"
|
ipconfig0 = "ip=192.168.${local.config.vlan}.${local.config.k3master.ip[count.index]}/24,gw=${local.config.dnsserver}"
|
||||||
searchdomain = "durp.loc"
|
searchdomain = "durp.loc"
|
||||||
nameserver = local.config.dnsserver
|
nameserver = local.config.dnsserver
|
||||||
}
|
}
|
||||||
@@ -123,56 +109,49 @@ resource "proxmox_vm_qemu" "k3master" {
|
|||||||
resource "proxmox_vm_qemu" "k3server" {
|
resource "proxmox_vm_qemu" "k3server" {
|
||||||
count = local.config.k3server.count
|
count = local.config.k3server.count
|
||||||
ciuser = "administrator"
|
ciuser = "administrator"
|
||||||
vmid = "${local.config.k3server.vlan}${local.config.k3server.ip[count.index]}"
|
vmid = "${local.config.vlan}${local.config.k3server.ip[count.index]}"
|
||||||
name = local.config.k3server.name[count.index]
|
name = local.config.k3server.name[count.index]
|
||||||
target_node = local.config.k3server.node[count.index]
|
target_node = local.config.k3server.node[count.index]
|
||||||
clone = local.config.k3server.template[count.index]
|
clone = local.config.template
|
||||||
tags = local.config.tags
|
tags = local.config.tags
|
||||||
qemu_os = "l26"
|
qemu_os = "l26"
|
||||||
full_clone = true
|
full_clone = true
|
||||||
os_type = "cloud-init"
|
os_type = "cloud-init"
|
||||||
agent = 1
|
agent = 1
|
||||||
cores = local.config.k3server.cores
|
cores = local.config.k3server.cores
|
||||||
numa = true
|
|
||||||
hotplug = "network,disk,usb,cpu,memory"
|
|
||||||
sockets = 1
|
sockets = 1
|
||||||
cpu = "host"
|
cpu = "host"
|
||||||
memory = local.config.k3server.memory
|
memory = local.config.k3server.memory
|
||||||
scsihw = "virtio-scsi-pci"
|
scsihw = "virtio-scsi-pci"
|
||||||
#bootdisk = "scsi0"
|
#bootdisk = "scsi0"
|
||||||
boot = "order=scsi0"
|
boot = "order=virtio0"
|
||||||
onboot = true
|
onboot = true
|
||||||
sshkeys = local.config.sshkeys
|
sshkeys = local.config.sshkeys
|
||||||
disks {
|
disks {
|
||||||
ide {
|
ide {
|
||||||
ide2 {
|
ide2 {
|
||||||
cloudinit {
|
cloudinit {
|
||||||
storage = local.config.k3master.storage
|
storage = local.config.storage
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
scsi {
|
virtio {
|
||||||
scsi0 {
|
virtio0 {
|
||||||
disk {
|
disk {
|
||||||
size = local.config.k3master.drive
|
size = local.config.k3server.drive
|
||||||
format = "raw"
|
format = local.config.format
|
||||||
storage = local.config.k3master.storage
|
storage = local.config.storage
|
||||||
emulatessd = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
network {
|
network {
|
||||||
model = "virtio"
|
model = "virtio"
|
||||||
bridge = "vmbr1"
|
bridge = "vmbr0"
|
||||||
}
|
tag = local.config.vlan
|
||||||
lifecycle {
|
|
||||||
ignore_changes = [
|
|
||||||
network,
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
#Cloud Init Settings
|
#Cloud Init Settings
|
||||||
ipconfig0 = "ip=192.168.${local.config.k3server.vlan}.${local.config.k3server.ip[count.index]}/24,gw=192.168.10.1"
|
ipconfig0 = "ip=192.168.${local.config.vlan}.${local.config.k3server.ip[count.index]}/24,gw=${local.config.dnsserver}"
|
||||||
searchdomain = "durp.loc"
|
searchdomain = "durp.loc"
|
||||||
nameserver = local.config.dnsserver
|
nameserver = local.config.dnsserver
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user