feat: Initial k8s cluster setup
This commit is contained in:
parent
dc71408e1b
commit
5def74736b
6 changed files with 233 additions and 0 deletions
44
pve01.wheatley.in/k8s-wheatley/modules/worker/main.tf
Normal file
44
pve01.wheatley.in/k8s-wheatley/modules/worker/main.tf
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
terraform {
|
||||
required_providers {
|
||||
proxmox = {
|
||||
source = "telmate/proxmox"
|
||||
version = ">= 3.0.2-rc05"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "proxmox_vm_qemu" "worker" {
|
||||
for_each = { for node in var.workers.nodes : node.name => node }
|
||||
|
||||
name = format("k8s-wheatley-%s", each.value.name)
|
||||
target_node = "pve01"
|
||||
tags = "k8s-wheatley,worker"
|
||||
onboot = true
|
||||
bios = "ovmf"
|
||||
boot = "order=virtio0;net0"
|
||||
clone = format("talos-%s", var.workers.talos_version)
|
||||
scsihw = "virtio-scsi-pci"
|
||||
|
||||
disk {
|
||||
size = var.workers.disk
|
||||
storage = var.workers.storagepool
|
||||
type = "disk"
|
||||
slot = "virtio0"
|
||||
format = "raw"
|
||||
}
|
||||
|
||||
cpu {
|
||||
cores = var.workers.cpu
|
||||
sockets = 1
|
||||
}
|
||||
|
||||
memory = var.workers.memory * 1024
|
||||
|
||||
network {
|
||||
id = 0
|
||||
model = "virtio"
|
||||
bridge = "vmbr1"
|
||||
}
|
||||
ipconfig0 = format("ip=%s/24,gw=10.13.38.1", each.value.ip_address)
|
||||
skip_ipv6 = true
|
||||
}
|
||||
15
pve01.wheatley.in/k8s-wheatley/modules/worker/variables.tf
Normal file
15
pve01.wheatley.in/k8s-wheatley/modules/worker/variables.tf
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
variable "workers" {
|
||||
description = "Worker node configuration"
|
||||
type = object({
|
||||
cpu = number
|
||||
memory = number
|
||||
disk = string
|
||||
storagepool = string
|
||||
talos_version = string
|
||||
nodes = list(object({
|
||||
name = string
|
||||
ip_address = string
|
||||
}))
|
||||
})
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue