From 1ebe456f2d6fda50bd5c0df0c16bf346fd723607 Mon Sep 17 00:00:00 2001 From: kakkotetsu Date: Tue, 15 Feb 2022 10:26:14 +0900 Subject: [PATCH] add support for Calico IP6_AUTODETECTION_METHOD (#8541) --- inventory/sample/group_vars/k8s_cluster/k8s-net-calico.yml | 4 +++- roles/network_plugin/calico/defaults/main.yml | 5 +++-- roles/network_plugin/calico/templates/calico-node.yml.j2 | 4 ++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/inventory/sample/group_vars/k8s_cluster/k8s-net-calico.yml b/inventory/sample/group_vars/k8s_cluster/k8s-net-calico.yml index bb0327d0d..a4e6af465 100644 --- a/inventory/sample/group_vars/k8s_cluster/k8s-net-calico.yml +++ b/inventory/sample/group_vars/k8s_cluster/k8s-net-calico.yml @@ -92,11 +92,13 @@ # Cenable eBPF mode # calico_bpf_enabled: false -# If you want to use non default IP_AUTODETECTION_METHOD for calico node set this option to one of: +# If you want to use non default IP_AUTODETECTION_METHOD, IP6_AUTODETECTION_METHOD for calico node set this option to one of: # * can-reach=DESTINATION # * interface=INTERFACE-REGEX # see https://docs.projectcalico.org/reference/node/configuration # calico_ip_auto_method: "interface=eth.*" +# calico_ip6_auto_method: "interface=eth.*" + # Choose the iptables insert mode for Calico: "Insert" or "Append". # calico_felix_chaininsertmode: Insert diff --git a/roles/network_plugin/calico/defaults/main.yml b/roles/network_plugin/calico/defaults/main.yml index 0f365751a..15e0c18ab 100644 --- a/roles/network_plugin/calico/defaults/main.yml +++ b/roles/network_plugin/calico/defaults/main.yml @@ -85,11 +85,12 @@ calico_wireguard_enabled: false calico_wireguard_packages: [] calico_wireguard_repo: https://download.copr.fedorainfracloud.org/results/jdoss/wireguard/epel-{{ ansible_distribution_major_version }}-$basearch/ -# If you want to use non default IP_AUTODETECTION_METHOD for calico node set this option to one of: +# If you want to use non default IP_AUTODETECTION_METHOD, IP6_AUTODETECTION_METHOD for calico node set this option to one of: # * can-reach=DESTINATION # * interface=INTERFACE-REGEX -# see https://docs.projectcalico.org/v3.0/reference/node/configuration#ip-autodetection-methods +# see https://projectcalico.docs.tigera.io/reference/node/configuration#ip-autodetection-methods # calico_ip_auto_method: "interface=eth.*" +# calico_ip6_auto_method: "interface=eth.*" calico_baremetal_nodename: "{{ kube_override_hostname | default(inventory_hostname) }}" diff --git a/roles/network_plugin/calico/templates/calico-node.yml.j2 b/roles/network_plugin/calico/templates/calico-node.yml.j2 index 91d307811..8dc677d0d 100644 --- a/roles/network_plugin/calico/templates/calico-node.yml.j2 +++ b/roles/network_plugin/calico/templates/calico-node.yml.j2 @@ -267,6 +267,10 @@ spec: {% endif %} - name: IP value: "autodetect" +{% if calico_ip6_auto_method is defined and enable_dual_stack_networks %} + - name: IP6_AUTODETECTION_METHOD + value: "{{ calico_ip6_auto_method }}" +{% endif %} {% if enable_dual_stack_networks %} - name: IP6 value: autodetect