igozhang

——

    K8s 平台组件版本清单

    采集时间: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.cfgprotocol 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#111PR #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。

    已知规避措施(不改版本):

    1. 若不使用 IPv6 BGP/路由学习:在 bird6 配置中注释 learnprotocol kernel { # learn; ... }
    2. 在节点层面抑制不必要的 IPv6 RA 默认路由
    3. 为 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,不兼容

    运维监控建议

    1. 定期观察 calico-node 内 bird/bird6 进程内存(见下方巡检命令)
    2. 若 calico-node 频繁 OOM 且 IPv6 非必需,优先尝试禁用 bird6 learn
    3. 若 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 问题。

    MP3