diff --git a/ansible/playbooks/templates/cilium-l2.yaml.j2 b/ansible/playbooks/templates/custom-cilium-l2.yaml.j2 similarity index 78% rename from ansible/playbooks/templates/cilium-l2.yaml.j2 rename to ansible/playbooks/templates/custom-cilium-l2.yaml.j2 index 015398fd..4c889e62 100644 --- a/ansible/playbooks/templates/cilium-l2.yaml.j2 +++ b/ansible/playbooks/templates/custom-cilium-l2.yaml.j2 @@ -19,4 +19,4 @@ metadata: name: pool spec: cidrs: - - cidr: "{{ (ansible_default_ipv4.network + '/' + ansible_default_ipv4.netmask) | ansible.utils.ipaddr('network/prefix') }}" + - cidr: "{{ node_cidr }}" diff --git a/kubernetes/apps/kube-system/cilium/app/cilium-l2.yaml b/kubernetes/apps/kube-system/cilium/app/cilium-l2.yaml new file mode 100644 index 00000000..e8eba26e --- /dev/null +++ b/kubernetes/apps/kube-system/cilium/app/cilium-l2.yaml @@ -0,0 +1,22 @@ +--- +# https://docs.cilium.io/en/latest/network/l2-announcements +apiVersion: cilium.io/v2alpha1 +kind: CiliumL2AnnouncementPolicy +metadata: + name: policy +spec: + loadBalancerIPs: true + # NOTE: This might need to be set if you have more than one active NIC on your nodes + # interfaces: + # - ^eno[0-9]+ + nodeSelector: + matchLabels: + kubernetes.io/os: linux +--- +apiVersion: cilium.io/v2alpha1 +kind: CiliumLoadBalancerIPPool +metadata: + name: pool +spec: + cidrs: + - cidr: "${NODE_CIDR}" diff --git a/kubernetes/apps/kube-system/cilium/app/kustomization.yaml b/kubernetes/apps/kube-system/cilium/app/kustomization.yaml index 1c3fdb04..d98c72b7 100644 --- a/kubernetes/apps/kube-system/cilium/app/kustomization.yaml +++ b/kubernetes/apps/kube-system/cilium/app/kustomization.yaml @@ -3,4 +3,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: kube-system resources: + - ./cilium-l2.yaml - ./helmrelease.yaml diff --git a/template/templates/ansible/supplemental.yaml.j2 b/template/templates/ansible/supplemental.yaml.j2 index 55e8771b..6c9c8afb 100644 --- a/template/templates/ansible/supplemental.yaml.j2 +++ b/template/templates/ansible/supplemental.yaml.j2 @@ -4,3 +4,4 @@ coredns_addr: "{{ bootstrap_coredns_addr }}" kube_vip_addr: "{{ bootstrap_kube_vip_addr }}" cluster_cidr: "{{ bootstrap_cluster_cidr }}" service_cidr: "{{ bootstrap_service_cidr }}" +node_cidr: "{{ bootstrap_node_cidr }}" diff --git a/template/templates/kubernetes/cluster-settings.yaml.j2 b/template/templates/kubernetes/cluster-settings.yaml.j2 index 58955eb2..e3575c6b 100644 --- a/template/templates/kubernetes/cluster-settings.yaml.j2 +++ b/template/templates/kubernetes/cluster-settings.yaml.j2 @@ -12,3 +12,4 @@ data: KUBE_VIP_ADDR: "{{ bootstrap_kube_vip_addr }}" CLUSTER_CIDR: "{{ bootstrap_cluster_cidr }}" SERVICE_CIDR: "{{ bootstrap_service_cidr }}" + NODE_CIDR: "{{ bootstrap_node_cidr }}"