Browse Source

CI: Add Calico eBPF in HA mode test (#7710)

* Sample-Inventory: add sample for calico_bpf_enabled

* Calico-Doc: note about CONFIG_NET_SCHED for eBPF support

* CI: Add Calico eBPF in HA mode test
pull/8018/head
Cristian Calin 3 years ago
committed by GitHub
parent
commit
33146b9481
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 0 deletions
  1. 6
      .gitlab-ci/packet.yml
  2. 2
      docs/calico.md
  3. 3
      inventory/sample/group_vars/k8s_cluster/k8s-net-calico.yml
  4. 16
      tests/files/packet_centos8-calico-ha-ebpf.yml

6
.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

2
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.

3
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

16
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
Loading…
Cancel
Save