diff --git a/bootstrap/defaults/main.yaml b/bootstrap/defaults/main.yaml index 7a7ecb9d..d0eb3f0a 100644 --- a/bootstrap/defaults/main.yaml +++ b/bootstrap/defaults/main.yaml @@ -1,2 +1,2 @@ --- -bootstrap_coredns_addr: "{{ bootstrap_service_cidr | ansible.utils.nthhost(10) }}" +bootstrap_coredns_addr: "{{ bootstrap_service_cidr.split(',')[0] | ansible.utils.nthhost(10) }}" diff --git a/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/helmrelease.yaml.j2 index 07724111..447f67b8 100644 --- a/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/helmrelease.yaml.j2 @@ -1,3 +1,4 @@ +#jinja2: trim_blocks: True, lstrip_blocks: True --- apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease @@ -75,17 +76,27 @@ spec: - *host ipam: mode: kubernetes + ipv4NativeRoutingCIDR: "{{ bootstrap_cluster_cidr.split(',')[0] }}" + {% if bootstrap_ipv6_enabled | default(false) %} + ipv6NativeRoutingCIDR: "{{ bootstrap_cluster_cidr.split(',')[1] }}" + ipv6: + enabled: true + {% endif %} k8sServiceHost: "{{ bootstrap_kube_vip_addr }}" k8sServicePort: 6443 - ipv4NativeRoutingCIDR: "{{ bootstrap_cluster_cidr }}" kubeProxyReplacement: strict kubeProxyReplacementHealthzBindAddr: 0.0.0.0:10256 + {% if bootstrap_ipv6_enabled | default(false) %} + l2announcements: + enabled: false + {% else %} # https://github.com/cilium/cilium/issues/26586 l2announcements: enabled: true leaseDuration: 120s leaseRenewDeadline: 60s leaseRetryPeriod: 1s + {% endif %} loadBalancer: algorithm: maglev mode: dsr diff --git a/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/kustomization.yaml.j2 index d98c72b7..aa7aace1 100644 --- a/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/kustomization.yaml.j2 @@ -1,7 +1,10 @@ +#jinja2: trim_blocks: True, lstrip_blocks: True --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: kube-system resources: + {% if not bootstrap_ipv6_enabled | default(false) %} - ./cilium-l2.yaml + {% endif %} - ./helmrelease.yaml diff --git a/bootstrap/templates/kubernetes/apps/kube-system/coredns/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/kube-system/coredns/app/helmrelease.yaml.j2 index 51028c7a..1ef80888 100644 --- a/bootstrap/templates/kubernetes/apps/kube-system/coredns/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/kube-system/coredns/app/helmrelease.yaml.j2 @@ -1,3 +1,4 @@ +#jinja2: trim_blocks: True, lstrip_blocks: True --- apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease