diff --git a/docs/calico.md b/docs/calico.md index be63d2ce4d1d6e89ccc1c2b8ac29e63838e80c67..9112ce3c750e8f5ea079357f05255822a5eaeb90 100644 --- a/docs/calico.md +++ b/docs/calico.md @@ -295,7 +295,6 @@ To enable the eBPF dataplane support ensure you add the following to your invent ```yaml calico_bpf_enabled: true -kube_proxy_remove: true ``` **NOTE:** there is known incompatibility in using the `kernel-kvm` kernel package on Ubuntu OSes because it is missing support for `CONFIG_NET_SCHED` which is a requirement for Calico eBPF support. When using Calico eBPF with Ubuntu ensure you run the `-generic` kernel. diff --git a/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml b/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml index 524027c18cf7c694d9573dea0237e1c3b983b024..04c6dc7ab132938cb6f63cd6e0c7158fafdbf996 100644 --- a/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml +++ b/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml @@ -56,16 +56,6 @@ - kube_network_plugin == 'calico' - not ignore_assert_errors -- name: Stop if kube-proxy is enabled when using eBPF dataplane - assert: - that: - - kube_proxy_remove - msg: "kube-proxy needs to be disabled when using Calico with eBPF dataplane" - when: - - calico_bpf_enabled | default(false) - - kube_network_plugin == 'calico' - - not ignore_assert_errors - - name: Stop if unsupported version of Kubernetes assert: that: kube_version is version(kube_version_min_required, '>=') diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml index 488e1ae5bf3025c07dee2f865ceb333fe1706153..8b5b78ddfd2fe321db8019deb7d1c7cda32bbd7a 100644 --- a/roles/kubespray-defaults/defaults/main.yaml +++ b/roles/kubespray-defaults/defaults/main.yaml @@ -32,6 +32,8 @@ kubeadm_init_phases_skip: >- {{ kubeadm_init_phases_skip_default }} + [ "addon/kube-proxy" ] {%- elif kube_network_plugin == 'cilium' and (cilium_kube_proxy_replacement is defined and cilium_kube_proxy_replacement == 'strict') -%} {{ kubeadm_init_phases_skip_default }} + [ "addon/kube-proxy" ] + {%- elif kube_network_plugin == 'calico' and (calico_bpf_enabled is defined and calico_bpf_enabled) -%} + {{ kubeadm_init_phases_skip_default }} + [ "addon/kube-proxy" ] {%- elif kube_proxy_remove is defined and kube_proxy_remove -%} {{ kubeadm_init_phases_skip_default }} + [ "addon/kube-proxy" ] {%- else -%} diff --git a/tests/files/packet_centos8-calico-ha-ebpf.yml b/tests/files/packet_centos8-calico-ha-ebpf.yml index d7be81a97793a73f0a157f784091f92b04795d94..d3713c2be0b02832ad08b911de3a965d8dc0fabd 100644 --- a/tests/files/packet_centos8-calico-ha-ebpf.yml +++ b/tests/files/packet_centos8-calico-ha-ebpf.yml @@ -9,7 +9,6 @@ kube_network_plugin: calico deploy_netchecker: true calico_bpf_enabled: true -kube_proxy_remove: true loadbalancer_apiserver_localhost: true use_localhost_as_kubeapi_loadbalancer: true