Cilium 是一款基于 eBPF 的网络、可观测性和安全工具,适用于 Docker 和 Kubernetes 等 Linux 容器管理平台。Bitnami 提供的 Cilium Helm 图表经过精心设计和持续维护,可快速、轻松地在 Kubernetes 集群上部署容器,满足生产工作负载需求。
Cilium 官方概述
商标说明:本软件列表由 Bitnami 打包。所提及的商标分属各自公司所有,使用这些商标并不意味着任何关联或背书。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像仓库,通过新的 Bitnami Secure Images 计划 提供精选的强化、安全聚焦镜像。此次变更包括:
有关详细信息,请访问 https://github.com/bitnami/containers/issues/83267%E3%80%82
快速安装
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/cilium
自定义安装
指定仓库和发布名称安装:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/cilium
说明:需将
REGISTRY_NAME和REPOSITORY_NAME替换为实际仓库地址,例如 Bitnami 官方仓库为registry-1.docker.io/bitnamicharts。
外部键值存储配置
默认情况下,图表会安装内部 etcd。如需使用外部键值存储(如托管服务),需禁用内部 etcd 并配置外部端点:
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/cilium \ --set etcd.enabled=false \ --set externalKvstorehost.enabled=true \ --set externalKvstorehost.endpoints[0]=external-kvstore-host-0:2379 \ --set externalKvstorehost.endpoints[1]=external-kvstore-host-1:2379
CNI 插件配置
图表默认在节点上安装 Cilium CNI 插件。如需自定义:
--set agent.cniPlugin.install=falseyamlagent: cniPlugin: hostCNIBinDir: "/opt/cni/bin" # CNI 二进制文件路径 hostCNINetDir: "/etc/cni/net.d" # CNI 配置文件路径
TLS 加密通信
通过 Hubble 组件加密通信需启用 TLS 并配置证书:
consolekubectl create secret generic ca-tls-secret --from-file=./tls.crt --from-file=./tls.key
yamlhubble: tls: enabled: true existingCASecret: "ca-tls-secret" peers: existingSecret: "peers-tls-secret" relay: existingSecret: "relay-tls-secret" client: existingSecret: "client-tls-secret"
--set hubble.tls.autoGenerated.enabled=true --set hubble.tls.autoGenerated.engine=helmyamlhubble: tls: autoGenerated: enabled: true engine: cert-manager certManager: existingIssuer: "my-issuer" existingIssuerKind: "ClusterIssuer"
Prometheus 指标集成
启用各组件指标采集并暴露给 Prometheus:
yamlagent: metrics: enabled: true # 启用 Cilium Agent 指标 service: annotations: prometheus.io/scrape: "true" prometheus.io/port: "9090" hubble: peers: metrics: enabled: true # 启用 Hubble Peers 指标 relay: metrics: enabled: true # 启用 Hubble Relay 指标 envoy: metrics: enabled: true # 启用 Envoy 指标 operator: metrics: enabled: true # 启用 Operator 指标
前提:集群需已安装 Prometheus 或 Prometheus Operator,推荐使用 https://github.com/bitnami/charts/tree/main/bitnami/prometheus%E3%80%82
Ingress 配置(Hubble UI)
通过 Ingress 暴露 Hubble UI(需集群已安装 Ingress 控制器,如 NGINX Ingress):
yamlhubble: ui: enabled: true ingress: enabled: true hostname: hubble.example.com # 自定义域名 tls: - hosts: - hubble.example.com secretName: hubble-tls-secret # TLS 密钥名称
外部环境变量与 Sidecar 容器
yamlagent: extraEnvVars: - name: LOG_LEVEL value: "error" # 调整日志级别 # 或从 ConfigMap/Secret 导入 extraEnvVarsCM: "my-configmap" # 包含环境变量的 ConfigMap 名称 extraEnvVarsSecret: "my-secret" # 包含环境变量的 Secret 名称
yamlagent: sidecars: - name: "log-exporter" image: "busybox:latest" command: ["sh", "-c", "tail -f /var/log/cilium.log"] # 暴露 Sidecar 端口 service: extraPorts: - name: "log-port" port: 8080 targetPort: 8080
使用 Velero 工具备份和恢复 Helm 部署的持久化卷:
consolevelero backup create cilium-backup --include-resources pods,pv,pvc,configmaps,secrets --selector app.kubernetes.io/instance=my-release
consolevelero restore create --from-backup cilium-backup
详细指南:使用 Velero 备份和恢复 Kubernetes 部署
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库地址 | "" |
global.imagePullSecrets | 全局镜像拉取密钥数组 | [] |
global.defaultStorageClass | 持久化卷默认存储类 | "" |
global.security.allowInsecureImages | 是否允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 适配 OpenShift 安全上下文(auto/force/disabled) | auto |
| 参数名 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 覆盖 Kubernetes 版本 | "" |
nameOverride | 部分覆盖资源名称前缀 | "" |
fullnameOverride | 完全覆盖资源全名 | "" |
commonLabels | 所有资源通用标签 | {} |
commonAnnotations | 所有资源通用注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
diagnosticMode.enabled | 启用诊断模式(禁用探针并覆盖命令) | false |
| 参数名 | 描述 | 默认值 |
|---|---|---|
agent.image.registry | Agent 镜像仓库 | REGISTRY_NAME |
agent.image.repository | Agent 镜像路径 | REPOSITORY_NAME/cilium |
agent.image.pullPolicy | 镜像拉取策略 | IfNotPresent |
agent.image.pullSecrets | 镜像拉取密钥 | [] |
agent.cniPlugin.install | 是否安装 CNI 插件 | true |
注意:完整参数列表请参见 https://github.com/bitnami/charts/blob/main/bitnami/cilium/README.md%E3%80%82
卸载 Helm 发布:
consolehelm uninstall my-release
注意:卸载不会自动删除持久化卷和密钥,需手动清理:
consolekubectl delete pvc -l app.kubernetes.io/instance=my-release kubectl delete secret -l app.kubernetes.io/instance=my-release
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务