Add static IPv6 default gateway configuration

This commit is contained in:
Marcel Straub
2025-10-05 14:46:05 +02:00
parent 5162bbc275
commit 07d234d72e
7 changed files with 21 additions and 9 deletions

View File

@@ -80,8 +80,9 @@ data "talos_machine_configuration" "this" {
ipv4_address = each.value.ip
ipv6_address = each.value.ipv6
ipv4_gateway = var.cluster.default4_gateway
ipv6_gateway = var.cluster.default6_gateway
subnet_mask = var.cluster.subnet_mask
subnet6_mask = var.cluster.subnet6_mask
subnet6_mask = var.cluster.subnet6_mask
cluster_mtu = var.cluster.mtu
extra_manifests = jsonencode(local.extra_manifests)
api_server = var.cluster.api_server
@@ -94,8 +95,9 @@ data "talos_machine_configuration" "this" {
ipv4_address = each.value.ip
ipv6_address = each.value.ipv6
ipv4_gateway = var.cluster.default4_gateway
subnet_mask = var.cluster.subnet_mask
subnet6_mask = var.cluster.subnet6_mask
ipv6_gateway = var.cluster.default6_gateway
subnet_mask = var.cluster.subnet_mask
subnet6_mask = var.cluster.subnet6_mask
cluster_mtu = var.cluster.mtu
})
]

View File

@@ -72,6 +72,7 @@ cluster:
image: registry.k8s.io/kube-apiserver:${kubernetes_version}
extraArgs:
bind-address: "::"
advertise-address: "${ipv6_address}"
service-cluster-ip-range: "${join(",", service_subnets)}"
controllerManager:
image: registry.k8s.io/kube-controller-manager:${kubernetes_version}

View File

@@ -11,6 +11,8 @@ machine:
routes:
- network: 0.0.0.0/0
gateway: ${ipv4_gateway}
- network: ::/0
gateway: ${ipv6_gateway}
%{ if vip != null }
vip:
ip: ${vip}
@@ -25,7 +27,7 @@ cluster:
controllerManager:
extraArgs:
node-cidr-mask-size-ipv4: "24"
node-cidr-mask-size-ipv6: "112"
node-cidr-mask-size-ipv6: "118"
cluster-cidr: "${join(",", pod_subnets)}"
service-cluster-ip-range: "${join(",", service_subnets)}"
etcd:

View File

@@ -9,4 +9,6 @@ machine:
mtu: ${cluster_mtu}
routes:
- network: 0.0.0.0/0
gateway: ${ipv4_gateway}
gateway: ${ipv4_gateway}
- network: ::/0
gateway: ${ipv6_gateway}

View File

@@ -22,6 +22,7 @@ variable "cluster" {
subnet6_mask = optional(string, "64")
talos_machine_config_version = optional(string)
default4_gateway = string
default6_gateway = string
proxmox_cluster = string
kubernetes_version = string
gateway_api_version = string

View File

@@ -14,19 +14,22 @@ talos_cluster_config = {
mtu = 9000
default4_gateway = "10.51.10.1"
default6_gateway = "2a13:fc80:1:a::1"
subnet_mask = "23"
subnet6_mask = "64"
vip = "2a13:fc80:1:a:ffff::0"
kubernetes_version = "v1.34.0"
gateway_api_version = "v1.3.0"
# order matters, first address family defined priamry address family
pod_subnets = [
"10.244.0.0/16",
"2a13:fc80:1:d200::/64"
"2a13:fc80:1:d200::/64",
"10.244.0.0/16"
]
# order matters, first address family defined priamry address family
service_subnets = [
"10.96.0.0/16",
"2a13:fc80:1:d201::/64"
"2a13:fc80:1:d201::/112",
"10.96.0.0/16"
]
cilium = {

View File

@@ -41,6 +41,7 @@ variable "talos_cluster_config" {
subnet6_mask = optional(string, "64")
talos_machine_config_version = optional(string)
default4_gateway = string
default6_gateway = string
proxmox_cluster = string
kubernetes_version = string
gateway_api_version = string