Compare commits
2 commits
58dce491bb
...
c6d4143df2
| Author | SHA1 | Date | |
|---|---|---|---|
| c6d4143df2 | |||
| fbbfee32a4 |
8 changed files with 26 additions and 5 deletions
|
|
@ -71,16 +71,19 @@ locals {
|
||||||
name = "worker01"
|
name = "worker01"
|
||||||
ip_address = "10.13.37.21"
|
ip_address = "10.13.37.21"
|
||||||
storage_address = "10.0.69.21"
|
storage_address = "10.0.69.21"
|
||||||
|
gpu_enabled = false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name = "worker02"
|
name = "worker02"
|
||||||
ip_address = "10.13.37.22"
|
ip_address = "10.13.37.22"
|
||||||
storage_address = "10.0.69.22"
|
storage_address = "10.0.69.22"
|
||||||
|
gpu_enabled = false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name = "worker03"
|
name = "worker03"
|
||||||
ip_address = "10.13.37.23"
|
ip_address = "10.13.37.23"
|
||||||
storage_address = "10.0.69.23"
|
storage_address = "10.0.69.23"
|
||||||
|
gpu_enabled = false
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -122,6 +125,7 @@ module "workers" {
|
||||||
name = format("k8s-wheatley-%s", each.value.name)
|
name = format("k8s-wheatley-%s", each.value.name)
|
||||||
ipv4_address = each.value.ip_address
|
ipv4_address = each.value.ip_address
|
||||||
cpu = local.workers.cpu
|
cpu = local.workers.cpu
|
||||||
|
gpu = each.value.gpu_enabled
|
||||||
memory = local.workers.memory
|
memory = local.workers.memory
|
||||||
disk = local.workers.disk
|
disk = local.workers.disk
|
||||||
storagepool = local.workers.storagepool
|
storagepool = local.workers.storagepool
|
||||||
|
|
@ -171,6 +175,7 @@ module "talos-bootstrap" {
|
||||||
ipv4_address = node.ip_address
|
ipv4_address = node.ip_address
|
||||||
storage_address = node.storage_address
|
storage_address = node.storage_address
|
||||||
pvc_disks = local.workers.pvc_disks
|
pvc_disks = local.workers.pvc_disks
|
||||||
|
gpu_enabled = node.gpu_enabled
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,6 @@ resource "talos_machine_configuration_apply" "config_apply_cp" {
|
||||||
vip_address = var.node_config.cluster_endpoint
|
vip_address = var.node_config.cluster_endpoint
|
||||||
node_name = format("%s.wheatley.in", var.node_config.proxmox_node)
|
node_name = format("%s.wheatley.in", var.node_config.proxmox_node)
|
||||||
machine_type = each.value.type
|
machine_type = each.value.type
|
||||||
talos_version = var.node_config.talos_version
|
|
||||||
gateway-api_version = var.node_config.gateway_api_version
|
gateway-api_version = var.node_config.gateway_api_version
|
||||||
cilium_version = var.node_config.cilium_version
|
cilium_version = var.node_config.cilium_version
|
||||||
cilium_install_file = file("${path.module}/templates/cilium-install.yaml.tmpl")
|
cilium_install_file = file("${path.module}/templates/cilium-install.yaml.tmpl")
|
||||||
|
|
@ -84,6 +83,7 @@ resource "talos_machine_configuration_apply" "config_apply_worker" {
|
||||||
cilium_version = var.node_config.cilium_version
|
cilium_version = var.node_config.cilium_version
|
||||||
cilium_install_file = file("${path.module}/templates/cilium-install.yaml.tmpl")
|
cilium_install_file = file("${path.module}/templates/cilium-install.yaml.tmpl")
|
||||||
pvc_disks = each.value.pvc_disks
|
pvc_disks = each.value.pvc_disks
|
||||||
|
gpu_enabled = each.value.gpu_enabled
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ machine:
|
||||||
type: ${machine_type}
|
type: ${machine_type}
|
||||||
install:
|
install:
|
||||||
disk: /dev/vda
|
disk: /dev/vda
|
||||||
image: factory.talos.dev/nocloud-installer-secureboot/ce4c980550dd2ab1b17bbf2b08801c7eb59418eafe8f279833297925d67c7515:v${talos_version}
|
|
||||||
network:
|
network:
|
||||||
hostname: ${hostname}
|
hostname: ${hostname}
|
||||||
nameservers:
|
nameservers:
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,9 @@ machine:
|
||||||
type: ${machine_type}
|
type: ${machine_type}
|
||||||
install:
|
install:
|
||||||
disk: /dev/vda
|
disk: /dev/vda
|
||||||
image: factory.talos.dev/nocloud-installer-secureboot/6adc7e7fba27948460e2231e5272e88b85159da3f3db980551976bf9898ff64b:v${talos_version}
|
%{ if gpu_enabled != false ~}
|
||||||
|
image: factory.talos.dev/nocloud-installer-secureboot/29d29d87bf3b88fe13caf73c20c7a8b6a4355d8177d0d690d5c9f85d4ddb67b7:v${talos_version}
|
||||||
|
%{ endif ~}
|
||||||
network:
|
network:
|
||||||
hostname: ${hostname}
|
hostname: ${hostname}
|
||||||
nameservers:
|
nameservers:
|
||||||
|
|
@ -32,6 +34,9 @@ machine:
|
||||||
- usermode_helper=disabled
|
- usermode_helper=disabled
|
||||||
- name: drbd_transport_tcp
|
- name: drbd_transport_tcp
|
||||||
- name: dm_thin_pool
|
- name: dm_thin_pool
|
||||||
|
%{ if gpu_enabled != false ~}
|
||||||
|
- name: i915
|
||||||
|
%{ endif ~}
|
||||||
nodeLabels:
|
nodeLabels:
|
||||||
topology.kubernetes.io/region: ${cluster_name}
|
topology.kubernetes.io/region: ${cluster_name}
|
||||||
topology.kubernetes.io/zone: ${node_name}
|
topology.kubernetes.io/zone: ${node_name}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ variable "talos_nodes" {
|
||||||
type = string
|
type = string
|
||||||
ipv4_address = string
|
ipv4_address = string
|
||||||
storage_address = optional(string)
|
storage_address = optional(string)
|
||||||
pvc_disks = optional(list(number)),
|
pvc_disks = optional(list(number))
|
||||||
|
gpu_enabled = optional(bool, false)
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,16 @@ resource "proxmox_virtual_environment_vm" "talos-node" {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dynamic "hostpci" {
|
||||||
|
for_each = var.node.gpu == true ? [1] : []
|
||||||
|
content {
|
||||||
|
device = "hostpci0"
|
||||||
|
mapping = "A380_GPU"
|
||||||
|
pcie = true
|
||||||
|
rombar = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
initialization {
|
initialization {
|
||||||
datastore_id = var.node.storagepool
|
datastore_id = var.node.storagepool
|
||||||
ip_config {
|
ip_config {
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ variable "node" {
|
||||||
ipv4_address = string
|
ipv4_address = string
|
||||||
ipv4_gateway = string
|
ipv4_gateway = string
|
||||||
cpu = number
|
cpu = number
|
||||||
|
gpu = optional(bool, false)
|
||||||
memory = number
|
memory = number
|
||||||
disk = string
|
disk = string
|
||||||
storagepool = string
|
storagepool = string
|
||||||
|
|
|
||||||
|
|
@ -21,5 +21,5 @@ provider "proxmox" {
|
||||||
|
|
||||||
module "talos" {
|
module "talos" {
|
||||||
source = "./talos"
|
source = "./talos"
|
||||||
talos_versions = ["1.11.5"]
|
talos_versions = ["1.11.5", "1.12.0"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue