Calico 下如何切换数据面到 eBPF
1. 环境准备
1.1 Calico eBPF 要求
- 系统要求
- Ubuntu 18.04.4+
- Red Hat v8.2
- Linux kernel v5.3+
如果 Calico 没有检测到兼容的内核,将会回退到标准模式。
- 每个节点的
/sys/fs/bpf
都需要挂载有 BPF 文件系统 - Calico 版本不低于 3.13
1.2 升级内核
这里使用的是 CentOS 7 操作系统:
|
|
内核版本不满足要求,因此需要升级内核。内核小版本更新很快,可以去 http://ftp.sjtu.edu.cn/sites/elrepo.org/linux/kernel/el7/x86_64/RPMS/ 自行查找。
|
|
1.3 检查 BPF 文件系统
检查文件挂载:
|
|
如果上面的结果为空,则需要挂载 BPF 文件系统,执行命令:
|
|
1.4 查看 Calico 版本
执行命令:
|
|
查看 Calico 版本不低于 3.13 即可。
2. 切换 Calico 数据面到 eBPF
2.1 关闭 kube-proxy
|
|
2.2 开启 eBPF 模式
calicoctl 是 Calico 提供的一个 CLI 工具。
|
|
3. 参考
- https://ebpf.io/
- https://docs.projectcalico.org/maintenance/enabling-bpf
- https://docs.projectcalico.org/getting-started/clis/calicoctl/install