本文主要记录使用官方脚本安装 cilium-cli、检查集群 Cilium 状态,以及升级/重装前备份 ConfigMap 与 DaemonSet 的步骤。完整 Helm 参数需按集群 API 地址与 Pod CIDR 调整;站内已有 Cilium 系列文可作对照。

背景说明

在已有 Cilium 集群上升级或排障前,建议:

  1. 安装匹配架构的 cilium-cli
  2. cilium status 看清当前健康度
  3. 备份 cilium-configcilium DaemonSet

安装 cilium-cli

CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/main/stable.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all \
  "https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-${CLI_ARCH}.tar.gz"{,.sha256sum}
sha256sum --check "cilium-linux-${CLI_ARCH}.tar.gz.sha256sum"
sudo tar xzvfC "cilium-linux-${CLI_ARCH}.tar.gz" /usr/local/bin
rm "cilium-linux-${CLI_ARCH}.tar.gz"{,.sha256sum}
cilium version --client

若输出客户端版本号,说明 CLI 可用。

检查当前状态

cilium status

关注 agent 是否 Ready、是否有错误与版本信息。旧集群版本可能与最新 CLI 默认镜像不一致,升级前先记清当前版本。

备份配置

kubectl get cm -n kube-system cilium-config -o yaml > cilium-config-configmap.yaml
kubectl get ds -n kube-system cilium -o yaml > cilium-ds.yaml

命名空间以实际安装为准(有的环境不在 kube-system)。

Helm 安装注意(摘要)

helm repo add cilium https://helm.cilium.io/

安装时通常需要正确的:

  • k8sServiceHost / k8sServicePort(API Server)
  • ipam.mode 与 Pod CIDR
  • 是否 kube-proxy replacement 等高级项

勿直接复制他人集群的 IP/CIDR。 升级生产集群应有回滚与流量演练计划。

验证

cilium status
kubectl -n <cilium-ns> get pods -o wide

核心 Pod Running 且 cilium status 无持续错误即可进入连通性测试(如跨节点 Pod curl)。

注意事项

  • 与站内已发布 Cilium/BGP 长文重叠时,本文仅作 CLI 与备份备忘。
  • 示例中的控制面地址已脱敏。
  • 替换 CNI 有中断风险,维护窗口操作。