Skip to content

Commit

Permalink
Add cilium_ipam_mode variable (kubernetes-sigs#7418)
Browse files Browse the repository at this point in the history
Starting with Cilium v1.9 the default ipam mode has changed to "Cluster
Scope". See:

https://docs.cilium.io/en/v1.9/concepts/networking/ipam/

With this ipam mode Cilium handles assigning subnets to nodes to use
for pod ip addresses. The default Kubespray deploy uses the Kube
Controller Manager for this (the --allocate-node-cidrs
kube-controller-manager flag is set). This makes the proper ipam mode
for kubespray using cilium v1.9+ "kubernetes".

Tested with Cilium 1.9.5.

This PR also mounts the cilium-config ConfigMap for this variable
to be read properly.

In the future we can probably remove the kvstore and kvstore-opt
Cilium Operator args since they can be in the ConfigMap. I will tackle
that after this merges.
  • Loading branch information
fritchie authored Apr 1, 2021
1 parent cce9d31 commit f05d6b3
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 2 deletions.
6 changes: 5 additions & 1 deletion roles/network_plugin/cilium/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,8 @@ cilium_auto_direct_node_routes: false
cilium_native_routing_cidr: ""

# IPsec based transparent encryption between nodes
cilium_ipsec_enabled: false
cilium_ipsec_enabled: false

# IP address management mode for v1.9+.
# https://docs.cilium.io/en/v1.9/concepts/networking/ipam/
cilium_ipam_mode: kubernetes
7 changes: 6 additions & 1 deletion roles/network_plugin/cilium/templates/cilium-config.yml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -161,4 +161,9 @@ data:
enable-ipsec: "true"
ipsec-key-file: /etc/ipsec/keys
encrypt-node: "false"
{% endif %}
{% endif %}

# IPAM settings
{% if cilium_version | regex_replace('v') is version('1.9', '>=') %}
ipam: "{{ cilium_ipam_mode }}"
{% endif %}
7 changes: 7 additions & 0 deletions roles/network_plugin/cilium/templates/cilium-deploy.yml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ spec:
containers:
- args:
- --debug=$(CILIUM_DEBUG)
- --config-dir=/tmp/cilium/config-map
- --kvstore=etcd
- --kvstore-opt=etcd.config=/var/lib/etcd-config/etcd.config
command:
Expand Down Expand Up @@ -142,6 +143,9 @@ spec:
- mountPath: "{{cilium_cert_dir}}"
name: etcd-secrets
readOnly: true
- mountPath: /tmp/cilium/config-map
name: cilium-config-path
readOnly: true
dnsPolicy: ClusterFirst
priorityClassName: system-node-critical
restartPolicy: Always
Expand All @@ -163,3 +167,6 @@ spec:
- name: etcd-secrets
hostPath:
path: "{{cilium_cert_dir}}"
- configMap:
name: cilium-config
name: cilium-config-path

0 comments on commit f05d6b3

Please sign in to comment.