K8s 平台组件版本清单
2026-07-04 · k8s · 6 次阅读
采集时间:2026-07-04
采集节点:k8s-igo-master51(10.10.238.51)
用途:新基地复刻本套 K8s 平台环境
1. 集群概览
| 项目 |
版本/信息 |
| Kubernetes Server |
v1.24.6 |
| Kubernetes Client |
v1.24.6 |
| Kustomize |
v4.5.4 |
| 部署工具 |
Sealos(lvscare v4.3.7) |
| 集群架构 |
3 Master + 6 Worker(共 9 节点) |
| 节点状态 |
全部 Ready |
| 容器运行时 |
docker://25.0.5 |
| 操作系统 |
Ubuntu 20.04.6 LTS (Focal) |
| 内核 |
5.4.0-216-generic |
| CPU 架构 |
x86_64(KVM 虚拟机) |
节点列表
| 节点 |
角色 |
版本 |
内网 IP |
容器运行时 |
| k8s-igo-master51 |
control-plane |
v1.24.6 |
10.10.238.51 |
docker://25.0.5 |
| k8s-igo-master52 |
control-plane |
v1.24.6 |
10.10.238.52 |
docker://25.0.5 |
| k8s-igo-master53 |
control-plane |
v1.24.6 |
10.10.238.53 |
docker://25.0.5 |
| k8s-igo-worker54 |
worker |
v1.24.6 |
10.10.238.54 |
docker://25.0.5 |
| k8s-igo-worker55 |
worker |
v1.24.6 |
10.10.238.55 |
docker://25.0.5 |
| k8s-igo-worker56 |
worker |
v1.24.6 |
10.10.238.56 |
docker://25.0.5 |
| k8s-igo-worker57 |
worker |
v1.24.6 |
10.10.238.57 |
docker://25.0.5 |
| k8s-igo-worker58 |
worker |
v1.24.6 |
10.10.238.58 |
docker://25.0.5 |
| k8s-igo-worker59 |
worker |
v1.24.6 |
10.10.238.59 |
docker://25.0.5 |
宿主机关键服务
| 服务 |
状态 |
| kubelet.service |
active running |
| docker.service |
active running |
| cri-docker.service |
active running |
| image-cri-shim.service |
active running |
2. Kubernetes 核心组件(kube-system)
| 组件 |
镜像 |
副本/部署方式 |
| kube-apiserver |
k8s.gcr.io/kube-apiserver:v1.24.6 |
静态 Pod × 3(各 Master) |
| kube-controller-manager |
k8s.gcr.io/kube-controller-manager:v1.24.6 |
静态 Pod × 3 |
| kube-scheduler |
k8s.gcr.io/kube-scheduler:v1.24.6 |
静态 Pod × 3 |
| etcd |
k8s.gcr.io/etcd:3.5.3-0 |
静态 Pod × 3 |
| kube-proxy |
k8s.gcr.io/kube-proxy:v1.24.6 |
DaemonSet × 9 |
| CoreDNS |
k8s.gcr.io/coredns/coredns:v1.8.6 |
Deployment × 2 |
| metrics-server |
registry.k8s.io/metrics-server/metrics-server:v0.6.4 |
Deployment × 1 |
3. 网络组件(Calico)
| 组件 |
镜像 |
说明 |
| tigera-operator |
quay.io/tigera/operator:v1.30.11 |
Operator,Deployment × 1 |
| calico-apiserver |
docker.io/calico/apiserver:v3.26.5 |
Deployment × 2 |
| calico-kube-controllers |
docker.io/calico/kube-controllers:v3.26.5 |
Deployment × 1 |
| calico-node |
docker.io/calico/node:v3.26.5 |
DaemonSet × 9 |
| calico-typha |
docker.io/calico/typha:v3.26.5 |
Deployment × 3 |
| calico-csi |
docker.io/calico/csi:v3.26.5 |
DaemonSet × 9 |
| node-driver-registrar |
docker.io/calico/node-driver-registrar:v3.26.5 |
与 CSI 同 Pod |
| calico-cni(init) |
docker.io/calico/cni:v3.26.5 |
calico-node init 容器 |
| pod2daemon-flexvol(init) |
docker.io/calico/pod2daemon-flexvol:v3.26.5 |
calico-node init 容器 |
| BIRD/bird6(内嵌) |
calico/bird(BIRD 1.x 分支) |
随 calico-node 打包,每节点运行 bird + bird6 |
Calico 版本汇总:v3.26.5(内置 BIRD 1.x,非 BIRD2)
内存泄漏风险调研见文档末尾 第 13 节。
4. Ingress 控制器
| 组件 |
镜像 |
部署方式 |
| ingress-nginx-controller |
registry.k8s.io/ingress-nginx/controller:v1.8.1 |
DaemonSet × 6(Worker 节点) |
5. 证书管理(cert-manager)
| 组件 |
镜像 |
| cert-manager-controller |
quay.io/jetstack/cert-manager-controller:v1.12.13 |
| cert-manager-cainjector |
quay.io/jetstack/cert-manager-cainjector:v1.12.13 |
| cert-manager-webhook |
quay.io/jetstack/cert-manager-webhook:v1.12.13 |
cert-manager 版本汇总:v1.12.13
6. 集群管理平台(Rancher)
| 组件 |
镜像 |
| rancher |
rancher/rancher:v2.6.9 |
| rancher-webhook |
rancher/rancher-webhook:v0.2.10 |
| fleet-controller |
rancher/fleet:v0.5.3 |
| fleet-agent |
rancher/fleet-agent:v0.5.3 |
| gitjob |
rancher/gitjob:v0.1.32 |
Rancher 版本汇总:v2.6.9
7. 镜像仓库(Harbor)
| 组件 |
镜像 |
| harbor-core |
goharbor/harbor-core:v2.8.2 |
| harbor-portal |
goharbor/harbor-portal:v2.8.2 |
| harbor-jobservice |
goharbor/harbor-jobservice:v2.8.2 |
| harbor-registry |
goharbor/registry-photon:v2.8.2 |
| harbor-registryctl |
goharbor/harbor-registryctl:v2.8.2 |
| harbor-db |
goharbor/harbor-db:v2.8.2 |
| harbor-redis |
goharbor/redis-photon:v2.8.2 |
| notary-server |
goharbor/notary-server-photon:v2.8.2 |
| notary-signer |
goharbor/notary-signer-photon:v2.8.2 |
| trivy-adapter |
goharbor/trivy-adapter-photon:v2.8.2 |
Harbor 版本汇总:v2.8.2
私有仓库地址:harbor-hu.igozhang.cn
8. 存储(NFS Provisioner)
| 组件 |
镜像 |
| nfs-subdir-external-provisioner |
registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2 |
9. 中间件(MySQL / Nacos / RocketMQ / XXL-Job)
| 中间件 |
组件 |
镜像 |
副本/部署 |
Namespace |
| MySQL |
mysql-cluster-primary |
docker.io/bitnamilegacy/mysql:8.4.5-debian-12-r0 |
StatefulSet × 1 |
mysql |
| MySQL |
mysql-cluster-secondary |
docker.io/bitnamilegacy/mysql:8.4.5-debian-12-r0 |
StatefulSet × 1 |
mysql |
| Nacos |
nacos-server |
nacos/nacos-server:v2.2.1 |
StatefulSet × 3 |
nacos |
| Nacos |
nacos-peer-finder-plugin(init) |
nacos/nacos-peer-finder-plugin:1.1 |
init 容器 |
nacos |
| RocketMQ |
broker / nameserver |
apache/rocketmq:4.9.4 |
Broker × 3,NameServer × 2 |
rocketmq |
| RocketMQ |
rocketmq-dashboard |
apacherocketmq/rocketmq-dashboard:1.0.0 |
Deployment × 1 |
rocketmq |
| XXL-Job |
xxl-job-admin |
harbor-hu.igozhang.cn/library/xxl-job-admin:2.5.0-feishu-2 |
Deployment × 1 |
default |
10. 其他
| 组件 |
镜像 |
副本/部署方式 |
说明 |
| lvscare(Sealos) |
ghcr.io/labring/lvscare:v4.3.7 |
DaemonSet × 6(Worker 节点) |
Sealos 集群高可用/健康检查 |
11. 版本速查表
Kubernetes 1.24.6
etcd 3.5.3-0
CoreDNS 1.8.6
metrics-server 0.6.4
Calico 3.26.5
Tigera Operator 1.30.11
ingress-nginx 1.8.1
cert-manager 1.12.13
Rancher 2.6.9
Harbor 2.8.2
NFS Provisioner 4.0.2
MySQL 8.4.5-debian-12-r0
Nacos 2.2.1
RocketMQ 4.9.4
RocketMQ Dashboard 1.0.0
XXL-Job Admin 2.5.0-feishu-2
--- 节点环境 ---
Docker 25.0.5
Ubuntu 20.04.6 LTS
--- 其他 ---
lvscare (Sealos) 4.3.7
非k8s平台
redis 6.2.13
minio 2023-08-04T17:40:21Z
keepalive (kg pod -A -o wide |grep ingress)所有worker节点
12. 备注
- API Server 地址:
https://apiserver.cluster.local:6443
- 业务镜像统一存放在私有 Harbor:
harbor-hu.igozhang.cn
13. Calico 内存泄漏风险评估
调研依据:Calico 官方 Release Notes、GitHub Issue/PR(#7433、#7562、#8064、#8194、#8383、#7508、#9531、#9609、#11137)
结论
v3.26.5 的 Felix/kube-controllers 风险可控,但 BIRD 1.x 存在已知未修复内存泄漏场景,需重点关注。
已知问题一览
| 已知问题 |
影响组件 |
引入/影响版本 |
v3.26.5 状态 |
| kube-controllers Pod 缓存不同步导致内存泄漏 |
calico-kube-controllers |
< v3.26.0 存在,大集群(>2 万 Pod)+ 高 Pod 周转时触发 |
已在 v3.26.0 修复(PR #7433),v3.26.5 已包含 |
BIRD6 learn + IPv6 多 nexthop 路由导致内存暴涨/OOM |
calico-node 内 bird6(BIRD 1.x) |
BIRD 1.x 底层缺陷;Calico 3.26.5 ~ 3.30.3 均受影响(#11137) |
未修复。触发条件:节点启用 IPv6、bird6.cfg 中 protocol kernel { learn; } 开启,且内核存在来自交换机 RA 的多 nexthop 默认路由(如 ::/0 有数十个 nexthop),BIRD1 在 mpnh_copy 陷入死循环持续分配内存 |
| BIRD 高 CPU / readiness 超时(shutdown 网卡未清理) |
calico-node 内 bird |
< v3.27.0 存在(#8194) |
v3.26.5 未包含修复;修复在 v3.27.0 合入(calico/bird#111、PR #8064) |
| calico-apiserver 内存持续增长 |
calico-apiserver |
v3.27.0 引入,v3.27.2 修复(#8383) |
不受影响(当前为 v3.26.5) |
| Felix netlink 文件句柄泄漏 |
calico-node(Felix) |
v3.29.0/3.29.1 引入,v3.29.2 修复(#9531) |
不受影响(该回归未 backport 至 3.26 分支) |
| IPAM GC 不及时导致内存膨胀 |
calico-kube-controllers |
大集群、节点频繁上下线时可能出现(#7508) |
本集群约 100 个 Pod / 9 节点,风险极低 |
| v3.26.0 更新 calico/bird 镜像(#7562) |
bird |
v3.26.0 |
仅修复 node 自检(ST)失败,非内存泄漏修复 |
BIRD 专项说明
calico-node 默认同时运行:
- bird(IPv4):
protocol kernel { learn; ... } 同步内核路由
- bird6(IPv6):同上,IPv6 场景下风险更高
本集群当前以 IPv4(10.10.238.0/24) 为主,若节点未开启 IPv6 或交换机未下发多 nexthop 的 ::/0 路由,BIRD6 泄漏可能暂未触发;但若后续启用 IPv6 或出现 calico-node OOM,应优先排查 BIRD。
已知规避措施(不改版本):
- 若不使用 IPv6 BGP/路由学习:在 bird6 配置中注释
learn(protocol kernel { # learn; ... })
- 在节点层面抑制不必要的 IPv6 RA 默认路由
- 为 calico-node 设置合理 memory limit 并监控
bird/bird6 进程 RSS
根本性改善路径(需升级):
| 目标 |
推荐版本 |
前提 |
| 修复 BIRD shutdown 网卡导致的 CPU/超时 |
v3.27.2 |
K8s 1.24 可尝试,但 3.27 已不再官方测试 1.24 |
| 修复 Felix netlink 泄漏 |
≥ v3.29.2 |
K8s ≥ 1.25 |
| 减少 BIRD 依赖(IPIP/no-encap 路由改由 Felix 编程) |
≥ v3.31.0 + programClusterRoutes: Enabled |
K8s 建议 ≥ 1.27;BGP 模式仍可能需要 BIRD |
| 彻底规避 BIRD IPv6 learn 缺陷 |
暂无 Calico 官方 backport 至 3.26 线;社区验证 BIRD2 无此问题,但 Calico 3.26 仍捆绑 BIRD1 |
— |
本集群现状
- 当前版本 v3.26.5 已是 3.26 系列最终补丁版(2024-08-29 发布),含安全修复 CVE-2024-33522
- 3.26 系列官方测试支持 Kubernetes v1.24 ~ v1.28,与当前 K8s v1.24.6 匹配
- calico-node 有少量历史重启(0~8 次),属正常运行范畴;建议补充 BIRD 内存巡检(见下方命令)
新基地复刻推荐版本
| 场景 |
推荐 Calico 版本 |
说明 |
| 复刻当前环境(K8s 1.24.x) |
v3.26.5(可复刻,但需知 BIRD 风险) |
3.26 线最终版;与 K8s 1.24 官方兼容;部署后建议验证 BIRD 内存并评估是否禁用 bird6 learn |
| 升级 Calico 但保持 K8s 1.24 |
v3.27.2(可选,收益有限) |
含 BIRD #111 修复和 apiserver 泄漏修复,但不含 BIRD6 IPv6 learn 泄漏修复;3.27 对 K8s 1.24 无官方测试 |
| 同步升级 K8s 至 1.27+ 后 |
v3.28.x 最新补丁 或 ≥ v3.31.0 |
3.28.x 需 K8s ≥ 1.25;3.31+ 可通过 Felix 减少 BIRD 依赖;若用 3.29.x 须 ≥ v3.29.2 |
不建议的版本
- v3.27.0 / v3.27.1:calico-apiserver 存在已知内存泄漏
- v3.29.0 / v3.29.1:calico-node Felix 存在 netlink 句柄泄漏
- v3.28.x on K8s 1.24:官方标注 Breaking Change,不兼容
运维监控建议
- 定期观察 calico-node 内
bird/bird6 进程内存(见下方巡检命令)
- 若 calico-node 频繁 OOM 且 IPv6 非必需,优先尝试禁用 bird6
learn
- 若 Pod 规模显著增长,同时观察
calico-kube-controllers 内存与 IPAM Block 堆积
BIRD 内存巡检命令
执行位置:k8s-igo-master51
用途:只读查看 bird/bird6 内存占用及 IPv6 默认路由数量
影响:无变更,预计 < 5s
kubectl exec -n calico-system daemonset/calico-node -- sh -c 'echo "=== bird/bird6 RSS (KB) ===" && ps -o rss,comm | grep -E "bird|bird6" && echo "=== IPv6 default route nexthop count ===" && ip -6 route show default 2>/dev/null | wc -l'
若 bird6 RSS 持续攀升且 IPv6 默认路由 nexthop 数量较多(>10),则高度疑似 #11137 问题。