diff --git a/.gitlab-ci/packet.yml b/.gitlab-ci/packet.yml index ecfc222d837a87a38f87b09115a7cd71f9683156..30d6ba3f34e94a5805dc268f36b4964218deb464 100644 --- a/.gitlab-ci/packet.yml +++ b/.gitlab-ci/packet.yml @@ -154,6 +154,12 @@ packet_ubuntu18-flannel-containerd-ha-once: extends: .packet_pr when: manual +# Calico HA eBPF +packet_centos8-calico-ha-ebpf: + stage: deploy-part2 + extends: .packet_pr + when: manual + packet_debian9-macvlan: stage: deploy-part2 extends: .packet_pr diff --git a/docs/calico.md b/docs/calico.md index 4b747d765436990858be9491902089ee5a989f0d..2d80d1ba34f97acc3e0fe8e7dc8c8d6c153e6945 100644 --- a/docs/calico.md +++ b/docs/calico.md @@ -298,6 +298,8 @@ 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. + ### Cleaning up after kube-proxy Calico node cannot clean up after kube-proxy has run in ipvs mode. If you are converting an existing cluster to eBPF you will need to ensure the `kube-proxy` DaemonSet is deleted and that ipvs rules are cleaned. 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 6483320eb5ec6f1f6946b7e03110536d3748d8f2..4228c2bf2417007624e171271a1d1fe996830b4a 100644 --- a/inventory/sample/group_vars/k8s_cluster/k8s-net-calico.yml +++ b/inventory/sample/group_vars/k8s_cluster/k8s-net-calico.yml @@ -89,6 +89,9 @@ # calico_vxlan_vni: 4096 # calico_vxlan_port: 4789 +# 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: # * can-reach=DESTINATION # * interface=INTERFACE-REGEX diff --git a/tests/files/packet_centos8-calico-ha-ebpf.yml b/tests/files/packet_centos8-calico-ha-ebpf.yml new file mode 100644 index 0000000000000000000000000000000000000000..d7be81a97793a73f0a157f784091f92b04795d94 --- /dev/null +++ b/tests/files/packet_centos8-calico-ha-ebpf.yml @@ -0,0 +1,16 @@ +--- +# Instance settings +cloud_image: centos-8 +mode: ha +vm_memory: 3072Mi + +# Kubespray settings +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 + +auto_renew_certificates: true