Add support for ipv6 only cluster via "enable_ipv6only_stack_networks" (#11831)

This commit is contained in:
Boris
2025-01-27 15:15:22 +03:00
committed by GitHub
parent e107022b4b
commit 76c0a3aa75
37 changed files with 216 additions and 104 deletions

View File

@@ -56,10 +56,14 @@ data:
{% else %}
"ipam": {
"type": "calico-ipam",
{% if enable_dual_stack_networks %}
{% if enable_ipv6only_stack_networks %}
"assign_ipv6": "true"
{% elif enable_dual_stack_networks %}
"assign_ipv6": "true",
{% endif %}
{% endif %}
{% if not enable_ipv6only_stack_networks %}
"assign_ipv4": "true"
{% endif %}
},
{% endif %}
{% if calico_allow_ip_forwarding %}

View File

@@ -259,13 +259,15 @@ spec:
# no effect. This should fall within `--cluster-cidr`.
# - name: CALICO_IPV4POOL_CIDR
# value: "192.168.0.0/16"
{% if not enable_ipv6only_stack_networks %}
- name: CALICO_IPV4POOL_IPIP
value: "{{ calico_ipv4pool_ipip }}"
{% endif %}
# Enable or Disable VXLAN on the default IP pool.
- name: CALICO_IPV4POOL_VXLAN
value: "Never"
- name: FELIX_IPV6SUPPORT
value: "{{ enable_dual_stack_networks | default(false) }}"
value: "{{ (enable_dual_stack_networks or enable_ipv6only_stack_networks) | default(false) }}"
# Set Felix logging to "info"
- name: FELIX_LOGSEVERITYSCREEN
value: "{{ calico_loglevel }}"
@@ -308,20 +310,28 @@ spec:
- name: IP_AUTODETECTION_METHOD
value: "can-reach=$(NODEIP)"
{% endif %}
- name: IP
value: "autodetect"
{% if calico_ip6_auto_method is defined and enable_dual_stack_networks %}
{% if calico_ip6_auto_method is defined and (enable_dual_stack_networks or enable_ipv6only_stack_networks) %}
- name: IP6_AUTODETECTION_METHOD
value: "{{ calico_ip6_auto_method }}"
{% endif %}
{% if enable_ipv6only_stack_networks %}
- name: IP6
value: "autodetect"
- name: IP
value: none
{% elif enable_dual_stack_networks %}
- name: IP6
value: "autodetect"
- name: IP
value: "autodetect"
{% else %}
- name: IP
value: "autodetect"
{% endif %}
{% if calico_felix_mtu_iface_pattern is defined %}
- name: FELIX_MTUIFACEPATTERN
value: "{{ calico_felix_mtu_iface_pattern }}"
{% endif %}
{% if enable_dual_stack_networks %}
- name: IP6
value: autodetect
{% endif %}
{% if calico_use_default_route_src_ipaddr | default(false) %}
- name: FELIX_DEVICEROUTESOURCEADDRESS
valueFrom: