From bcc7922f46a7dbb238970d4fc0db697a548e38eb Mon Sep 17 00:00:00 2001 From: James Allenby Date: Wed, 1 Jul 2026 00:50:52 +0100 Subject: [PATCH] refactor: add l2 announcements and lb ipam to cilium --- .../bare_metal/group_vars/all.yaml | 2 ++ ansible/inventories/incus/group_vars/all.yaml | 2 ++ .../kubernetes_cilium/defaults/main.yaml | 14 ++++++++++ .../roles/kubernetes_cilium/tasks/main.yaml | 27 +++++++++++-------- 4 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 ansible/roles/kubernetes_cilium/defaults/main.yaml diff --git a/ansible/inventories/bare_metal/group_vars/all.yaml b/ansible/inventories/bare_metal/group_vars/all.yaml index ed6282a..616aced 100644 --- a/ansible/inventories/bare_metal/group_vars/all.yaml +++ b/ansible/inventories/bare_metal/group_vars/all.yaml @@ -5,3 +5,5 @@ vip_interface: eno1 vip_address: 10.0.0.200 cluster_pod_subnet: 172.16.0.0/16 cluster_service_subnet: 10.96.0.0/16 +lb_pool_start: 10.0.0.210 +lb_pool_stop: 10.0.0.220 diff --git a/ansible/inventories/incus/group_vars/all.yaml b/ansible/inventories/incus/group_vars/all.yaml index 5f78c52..0141b0a 100644 --- a/ansible/inventories/incus/group_vars/all.yaml +++ b/ansible/inventories/incus/group_vars/all.yaml @@ -4,3 +4,5 @@ vip_interface: enp5s0 vip_address: 10.150.0.100 cluster_pod_subnet: 172.16.0.0/16 cluster_service_subnet: 10.96.0.0/16 +lb_pool_start: 10.150.0.210 +lb_pool_stop: 10.150.0.220 diff --git a/ansible/roles/kubernetes_cilium/defaults/main.yaml b/ansible/roles/kubernetes_cilium/defaults/main.yaml new file mode 100644 index 0000000..11fe744 --- /dev/null +++ b/ansible/roles/kubernetes_cilium/defaults/main.yaml @@ -0,0 +1,14 @@ +cilium_chart_version: 1.19.5 + +cilium_values: + ipam: + operator: + clusterPoolIPv4PodCIDRList: + - "{{ cluster_pod_subnet }}" + hubble: + relay: + enabled: true + ui: + enabled: true + l2announcements: + enabled: true diff --git a/ansible/roles/kubernetes_cilium/tasks/main.yaml b/ansible/roles/kubernetes_cilium/tasks/main.yaml index db87306..02429f1 100644 --- a/ansible/roles/kubernetes_cilium/tasks/main.yaml +++ b/ansible/roles/kubernetes_cilium/tasks/main.yaml @@ -8,15 +8,20 @@ release_name: cilium release_namespace: kube-system chart_ref: cilium/cilium - chart_version: 1.19.5 - values: - ipam: - operator: - clusterPoolIPv4PodCIDRList: - - "{{ cluster_pod_subnet }}" - hubble: - relay: - enabled: true - ui: - enabled: true + chart_version: "{{ cilium_chart_version }}" + values: "{{ cilium_values }}" + run_once: true + +- name: Ensure LoadBalancer IP pool exists + kubernetes.core.k8s: + state: present + definition: + apiVersion: cilium.io/v2 + kind: CiliumLoadBalancerIPPool + metadata: + name: homelab-pool + spec: + blocks: + - start: "{{ lb_pool_start }}" + stop: "{{ lb_pool_stop }}" run_once: true