news 2026/9/13 22:39:40

Cilium CLI 安装指南:版本选择、校验和下载脚本逐项解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cilium CLI 安装指南:版本选择、校验和下载脚本逐项解析

Cilium CLI 安装指南:版本选择、校验和下载脚本逐项解析

【免费下载链接】ciliumeBPF-based Networking, Security, and Observability项目地址: https://gitcode.com/GitHub_Trending/ci/cilium

Cilium CLI 是管理 Cilium 集群的核心命令行工具,可用于安装 Cilium、查看安装状态、以及启用/禁用 Hubble、ClusterMesh 等功能。本文基于仓库中的安装文档 cli-download.rst,完整给出 Linux/macOS 两平台的官方安装脚本,逐项解析脚本中每个变量的作用与校验逻辑,并结合 cilium-cli 源码 说明 CLI 的子命令体系与全局参数,帮助你在安装后直接上手运维 Cilium 集群。

Cilium CLI 的定位

根据官方安装文档,Cilium CLI 的能力覆盖三类场景:

  1. 安装 Cilium——以 Helm 为基础把 Cilium 部署到当前 Kubernetes 上下文;
  2. 检查安装状态——聚合节点、Pod、内核版本等健康信息;
  3. 启用/禁用功能——例如 Clustermesh(多集群组网)、Hubble(可观测层)等。

从源码结构看,CLI 的入口在 main.go,它启动 gops 调试 agent 后调用cli.NewDefaultCiliumCommand()构建 Cobra 根命令并执行;构建时通过 ldflags 注入版本号(见 cilium-cli/Makefile 中的-X "github.com/cilium/cilium/cilium-cli/defaults.CLIVersion=$(CLI_VERSION)"),版本号取自git describe --tags --always,因此 Release 二进制自带的版本信息与 Git tag 严格对应。

Linux 安装脚本

官方文档给出的完整脚本如下(默认 amd64,自动识别 aarch64):

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}

各步骤说明:

步骤命令作用
1CILIUM_CLI_VERSION=$(curl -s .../stable.txt)拉取 Cilium CLI 仓库 main 分支的stable.txt文件,得到当前稳定版本号
2CLI_ARCH=amd64+uname -m判断架构选择:x86_64 用 amd64,aarch64 自动切换为 arm64
3curl -L --fail --remote-name-all ...{,.sha256sum}一次下载 tar.gz 与其.sha256sum校验文件;-L跟随 302 跳转(GitHub Releases 会跳转到 CDN),--fail保证 HTTP 错误时非零退出
4sha256sum --check ...校验包完整性与来源一致性
5sudo tar xzvfC ... /usr/local/bin直接解包到/usr/local/bin,二进制名为cilium
6rm ...清理下载的 tar.gz 与校验文件

macOS 安装脚本

macOS 版本与 Linux 几乎一致,仅有两处差异:架构检测判断的是arm64(Apple Silicon 的uname -m输出),校验命令使用 BSD 自带的shasum

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

对于脚本未覆盖的平台(例如 Windows),官方文档指引直接查看 Cilium CLI 的 Releases 页面获取对应的发布产物。

版本选择与发布产物的对应关系

stable.txt文件在仓库根目录有一份副本,当前仓库中其内容为v1.20.1(见 stable.txt)。需要注意两个要点:

  • 版本来源:脚本从 cilium-cli 仓库的main分支读取stable.txt,因此安装得到的永远是“当前受支持的稳定版 CLI”,而不是最新 nightly;
  • 发布产物命名:从 cilium-cli/Makefile 的local-release目标可以看出,官方发布流程为 darwin/linux/windows 三个平台、amd64/arm64 两种架构交叉编译,linux/darwin 打包为cilium-<os>-<arch>.tar.gz并生成.sha256sum,Windows 则打包为cilium-windows-<arch>.zip。这与下载脚本中的文件名规则完全吻合,也解释了为何 Windows 用户不走 tar.gz 脚本而需要直接到 Releases 页面取 zip 包。

开发中构建:使用未发布的 Helm chart

文档中有一节仅对非 stable 文档生效(.. only:: not stable),提示开发场景下可以克隆 cilium 仓库,让 CLI 访问 main 分支上最新的未发布 Helm chart:

git clone git@github.com:cilium/cilium.git cd cilium

这一步的意义在于:CLI 的cilium install底层是 Helm 安装,开发主分支 Cilium 时,需要让 CLI 能拉取到与源码版本匹配的 chart。

安装后的命令体系

安装完成后,cilium命令即出现在/usr/local/bin。从 cli/cmd.go 的AddCommand注册列表可以看到 CLI 的完整子命令面:

$ cilium install # 以 Helm 安装 Cilium 到当前 k8s 上下文 $ cilium status # 检查 Cilium 状态 $ cilium hubble enable # 启用 Hubble 可观测层 $ cilium connectivity test # 执行连通性测试

其余注册的子命令包括:

子命令用途
bgpBGP 对等与路由查询
clustermesh多集群 Clustermesh 的连接、启用/禁用
config查看/修改/删除运行时配置
connectivity部署测试工作负载并执行端到端连通性测试
context切换/查看 Kubernetes 上下文
encrypt创建/轮换加密密钥、查看密钥状态
features查询集群特性摘要与状态
hubble启用/禁用 Hubble、端口转发、启动 UI
multicast管理多播组与订阅者
status汇总集群健康状态
sysdump收集故障诊断数据包
version查看版本信息
uninstall/upgradeHelm 卸载 / 升级

这些子命令与文档开头描述的三大能力(安装、状态检查、功能开关)一一对应:例如clustermeshhubble正是文档中点名的可启用/禁用功能。

全局参数

所有子命令共享一组持久化参数(同样定义在 cli/cmd.go):

参数默认值说明
--context指定 Kubernetes 配置上下文
--namespace/-nkube-system(可用环境变量CILIUM_NAMESPACE覆盖)Cilium 运行的命名空间
--as/--as-group用户/用户组模拟(impersonation)
--helm-release-nameciliumHelm release 名称
--kubeconfigkubeconfig 文件路径

下一步

安装完成后,通常紧接着的操作是:

  1. 在目标 Kubernetes 集群执行cilium install(Helm 安装流程与平台特定参数参见 k8s-install-helm.rst);
  2. cilium status确认部署成功(参见 cli-status.rst);
  3. 运行cilium connectivity test做连通性验证(参见 cli-connectivity-test.rst)。

如果安装校验失败,建议优先检查第 4 步sha256sum --check/shasum -a 256 -c的输出——校验不通过意味着下载的 tar.gz 与官方产物不一致,应重新下载而不是强行解包。

【免费下载链接】ciliumeBPF-based Networking, Security, and Observability项目地址: https://gitcode.com/GitHub_Trending/ci/cilium

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 22:39:21

Claude Code与DeepSeek模型集成配置与优化指南

1. Claude Code 与 DeepSeek 模型集成概述 Claude Code 作为终端环境下的 AI 编程助手&#xff0c;与 DeepSeek 模型的深度整合为开发者提供了更强大的代码生成与问题解决能力。这种技术组合的核心价值在于将 Claude 的自然语言理解优势与 DeepSeek 的专业领域知识相结合&#…

作者头像 李华
网站建设 2026/9/13 22:39:21

具身机器人远程关机别再一点就立即断电

具身机器人远程关机&#xff1a;别再"前端一点就立即断电"了&#xff0c;否则现场真的会撞防护栏 调度平台里有两类操作设计难度完全不同&#xff1a;日常功能和高危控制。 日常功能出 bug&#xff0c;客户会骂&#xff1b;高危控制出 bug&#xff0c;客户会上新闻。…

作者头像 李华
网站建设 2026/9/13 22:36:05

开题主张链也要双版本烟测:三列表 + A/B 验收表

千笔-AIWritePaper https://www.aiwritepaper.com 开题写主张并不难&#xff0c;难的是主张指得回去&#xff0c;并且你能证明自己不是「一口气降完」的流畅空壳。三列表&#xff08;主张—证据—DOI&#xff09;是真源&#xff0c;但只交表、不跑对照&#xff0c;组会一问就穿…

作者头像 李华
网站建设 2026/9/13 22:35:23

裸眼 3D 技术在房地产营销中的应用场景与案例解析

裸眼 3D 技术近年来从户外大屏走进了售楼处&#xff0c;成为房地产营销的新宠。不需要佩戴任何设备&#xff0c;观众就能看到画面中物体 "跃出屏幕" 的立体效果&#xff0c;视觉冲击力极强。本文梳理裸眼 3D 技术在房地产领域的 6 大应用场景&#xff0c;并结合实际案…

作者头像 李华