add ability to specify default LB when using ipvs

This commit is contained in:
2024-12-21 15:33:15 +03:00
parent e2dabc8728
commit 46e057e41b
4 changed files with 10 additions and 3 deletions

View File

@@ -20,6 +20,8 @@ orchestrator:
version: v1.30.3 version: v1.30.3
cluster_name: cluster.local cluster_name: cluster.local
kubelet_dir: "/app/k8s/kubelet" kubelet_dir: "/app/k8s/kubelet"
proxy_mode: "ipvs" # iptables, ipvs
proxy_scheduler: "rr"
container_engine: container_engine:
install: true install: true
type: "containerd" type: "containerd"

View File

@@ -17,6 +17,8 @@ type Orchestrator struct {
BinDir string `yaml:"bin_dir" env-default:"/usr/local/bin"` BinDir string `yaml:"bin_dir" env-default:"/usr/local/bin"`
SysctlFilePath string `yaml:"sysctl_file_path" env-default:"/etc/sysctl.d/99-sysctl.conf"` SysctlFilePath string `yaml:"sysctl_file_path" env-default:"/etc/sysctl.d/99-sysctl.conf"`
LoadbalancerApiserverPort int `yaml:"loadbalancer_apiserver_port" env-default:"6443"` LoadbalancerApiserverPort int `yaml:"loadbalancer_apiserver_port" env-default:"6443"`
ProxyMode string `yaml:"proxy_mode" env-default:"ipvs"`
ProxyScheduler string `yaml:"proxy_scheduler" env-default:"rr"`
Dns Dns `yaml:"dns"` Dns Dns `yaml:"dns"`
CloudProvider string `yaml:"cloud_provider"` CloudProvider string `yaml:"cloud_provider"`
ExgernalCloudProvider string `yaml:"external_cloud_provider"` ExgernalCloudProvider string `yaml:"external_cloud_provider"`

View File

@@ -122,7 +122,8 @@ kube_apiserver_port: 6443 # (https)
# Kube-proxy proxyMode configuration. # Kube-proxy proxyMode configuration.
# Can be ipvs, iptables # Can be ipvs, iptables
kube_proxy_mode: ipvs kube_proxy_mode: {{ .Orchestrator.ProxyMode }}
kube_proxy_scheduler: {{ .Orchestrator.ProxyScheduler }}
# configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface # configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface
# must be set to true for MetalLB, kube-vip(ARP enabled) to work # must be set to true for MetalLB, kube-vip(ARP enabled) to work
@@ -452,6 +453,8 @@ kubeadm_patches:
source_dir: {{ `"{{ inventory_dir }}/patches"` }} source_dir: {{ `"{{ inventory_dir }}/patches"` }}
dest_dir: {{ `"{{ kube_config_dir }}/patches"` }} dest_dir: {{ `"{{ kube_config_dir }}/patches"` }}
{{- if not (eq .Orchestrator.KubeletDir "/var/lib/kubelet") }}
## Kubelet additional settings ## Kubelet additional settings
kubelet_custom_flags: kubelet_custom_flags:
- "--root-dir={{ .Orchestrator.KubeletDir }}" - "--root-dir={{ .Orchestrator.KubeletDir }}"
{{- end }}

View File

@@ -123,6 +123,7 @@ kube_apiserver_port: 6443 # (https)
# Kube-proxy proxyMode configuration. # Kube-proxy proxyMode configuration.
# Can be ipvs, iptables # Can be ipvs, iptables
kube_proxy_mode: ipvs kube_proxy_mode: ipvs
kube_proxy_scheduler: lc
# configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface # configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface
# must be set to true for MetalLB, kube-vip(ARP enabled) to work # must be set to true for MetalLB, kube-vip(ARP enabled) to work
@@ -404,7 +405,6 @@ kubeadm_patches:
enabled: false enabled: false
source_dir: "{{ inventory_dir }}/patches" source_dir: "{{ inventory_dir }}/patches"
dest_dir: "{{ kube_config_dir }}/patches" dest_dir: "{{ kube_config_dir }}/patches"
## Kubelet additional settings ## Kubelet additional settings
kubelet_custom_flags: kubelet_custom_flags:
- "--root-dir=/app/k8s/kubelet" - "--root-dir=/app/k8s/kubelet"