单节点calico性能优化

在单节点上部署calicov3273后,发现资源占用

修改calico以下配置是资源消耗降低

1、因为是单节点,没有跨节点pod网段组网需要,禁用overlay方式网络(ipip,vxlan),使用route方式网络

配置calico-node的环境变量

复制代码
CALICO_IPV4POOL_IPIP: Never
CALICO_IPV4POOL_VXLAN: Never
CALICO_IPV6POOL_VXLAN: Never
FELIX_IPINIPENABLED: false
FELIX_VXLANENABLED: false

参考

Troubleshoot eBPF mode | Calico Documentation (tigera.io)

2、节点使用XDP加速hostendpoint之间通信,但是是单节点,没有必要,而且环境中单节点一直报XDP的错误

failed to wipe the XDP state error=failed to load BPF program (/usr/lib/calico/bpf/filter.o): stat /sys/fs/bpf/calico/xdp/prefilter_v1_calico_tmp_A: no such file or directory

因此,禁用XDP

复制代码
FELIX_XDPENABLE: false
FELIX_BPFENABLED: false #禁用bpf,默认为false,可以不用配置

参考

Configuring Felix | Calico Documentation (tigera.io)

Kind XDP disabled for dev environment by jayunit100 · Pull Request #3017 · projectcalico/calico (github.com)

3、设置calico_backend: birdcalico_backend: vxlan(在calico部署文件中configmap中配置),节省资源消耗(没有overlay网络不需要bird

参考

Customize Calico configuration | Calico Documentation (tigera.io)

Comment out the line - -bird-ready and - -bird-live from the calico/node readiness/liveness check (otherwise disabling BIRD will cause the readiness/liveness check to fail on every node)

至此,部署的calico性能消耗明显降低,如下图所示

相关推荐
运维开发故事5 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson6 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生7 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Java之美8 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
java_cj15 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
qq_4523962315 天前
第十三篇:《K8s 安全基础:RBAC、ServiceAccount、Pod Security》
java·安全·kubernetes
睡不醒男孩03082315 天前
云原生运维实战:高并发架构下的云原生可观测性、韧性降级与自动化干预体系
数据库·kubernetes·高并发·prometheus·devops·sre·缓存调优
qq_4523962315 天前
第十四篇:《K8s 网络模型与 CNI 插件(Calico、Flannel、Cilium)》
网络·kubernetes·php
Hadoop_Liang15 天前
Kubernetes 应用 HTTPS 安全访问配置实践
https·kubernetes