| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- {% if ip_type == 'dual-stack' %}
- {% if node_ip_v4 is defined and node_ip_v6 is defined %}
- {% if node_ip | regex_search(':') %}
- # 当主IP是IPv6时,IPv6地址在前
- node-ip: "{{ node_ip_v6 }},{{ node_ip_v4 }}"
- {% else %}
- # 当主IP是IPv4时,IPv4地址在前
- node-ip: "{{ node_ip_v4 }},{{ node_ip_v6 }}"
- {% endif %}
- {% else %}
- # 如果没有node_ip_v4和node_ip_v6,使用node_ip作为IPv6,ip_dual_conf作为IPv4
- {% if node_ip | regex_search(':') %}
- node-ip: "{{ node_ip }},{{ ip_dual_conf }}"
- {% else %}
- node-ip: "{{ ip_dual_conf }},{{ node_ip }}"
- {% endif %}
- {% endif %}
- {% elif ip_type == 'ipv6' %}
- {% if node_ip | regex_search(':') %}
- node-ip: "{{ node_ip }}"
- {% else %}
- node-ip: {{ node_ip }}
- {% endif %}
- {% else %}
- node-ip: {{ node_ip }}
- {% endif %}
- pause-image: {{ image_repository }}/pause:3.1
- {% if high_availability_vip is defined %}
- tls-san: {{ high_availability_vip }}
- {% endif %}
- {% if is_k3s_server %}
- flannel-backend: none
- disable-network-policy: true
- {% if ip_type == 'dual-stack' %}
- {% if node_ip | regex_search(':') %}
- # 当主IP是IPv6时,使用IPv6 CIDR作为主要CIDR
- cluster-cidr: {{ pod_network_cidr }},{{ pod_network_cidr_v4 }}
- service-cidr: {{ service_cidr }},{{ service_cidr_v4 }}
- {% else %}
- # 当主IP是IPv4时,使用IPv4 CIDR作为主要CIDR
- cluster-cidr: {{ pod_network_cidr_v4 }},{{ pod_network_cidr }}
- service-cidr: {{ service_cidr_v4 }},{{ service_cidr }}
- {% endif %}
- {% else %}
- cluster-cidr: {{ pod_network_cidr }}
- service-cidr: {{ service_cidr }}
- {% endif %}
- cluster-domain: {{ service_dns_domain }}
- default-local-storage-path: /opt/k3s/storage
- # See:
- # - https://github.com/kubernetes/kubernetes/issues/55713#issuecomment-922168158
- # - https://github.com/kubernetes/website/issues/39681#issuecomment-1880846778
- kube-apiserver-arg:
- - "enable-admission-plugins=DefaultTolerationSeconds"
- - "default-not-ready-toleration-seconds=10"
- - "default-unreachable-toleration-seconds=10"
- {% if ip_type == 'ipv6' %}
- - "bind-address=::"
- - "advertise-address={{ node_ip }}"
- {% elif ip_type == 'dual-stack' %}
- - "bind-address=0.0.0.0"
- - "advertise-address={{ node_ip }}"
- {% endif %}
- kube-controller-manager-arg:
- - "node-monitor-period=4s"
- - "node-monitor-grace-period=16s"
- {% if ip_type == 'ipv6' %}
- - "bind-address=::"
- {% elif ip_type == 'dual-stack' %}
- - "bind-address=0.0.0.0"
- {% endif %}
- {% endif %}
- node-label:
- {% if is_k3s_server %}
- - onecloud.yunion.io/controller=enable
- {% endif %}
- {% if join_as_host %}
- - onecloud.yunion.io/host=enable
- {% endif %}
- {% if enable_lbagent %}
- - onecloud.yunion.io/lbagent=enable
- {% endif %}
- kubelet-arg:
- - "pod-manifest-path=/var/lib/rancher/k3s/agent/pod-manifests"
- - "eviction-hard=memory.available<200Mi,nodefs.available<1Gi,nodefs.inodesFree<5%,imagefs.available<1Gi"
- - "container-log-max-size=100Mi"
- - "pod-max-pids=1024"
- - "serialize-image-pulls=false"
- - "node-status-update-frequency=4s"
- - "image-gc-high-threshold=95"
- - "image-gc-low-threshold=90"
- kube-proxy-arg:
- - proxy-mode=ipvs
- - ipvs-strict-arp=true
- {% if ip_type == 'ipv6' %}
- - "bind-address=::"
- {% elif ip_type == 'dual-stack' %}
- - "bind-address=0.0.0.0"
- {% endif %}
|