
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
管理在Kubernetes集群中运行的Helm图表。
default.yaml文件在集群间共享图表覆盖配置。部署命令:
impeller --cluster-config-path=./clusters/my-cluster.yaml --kube-config="$(cat ~/.kube/config)" --kube-context my-kubernetes-context
空运行命令:
impeller --cluster-config-path=./clusters/my-cluster.yaml --kube-config="$(cat ~/.kube/config)" --kube-context my-kubernetes-context --dry-run
默认情况下,--dry-run选项会隐藏覆盖值。您可以在发布配置中添加showValue: true以启用打印输出:
yamlreleases: - name: test-release namespace: kube-system version: ~x.x.x overrides: - target: global.tag showValue: true value: 1.6.0
差异运行命令:
impeller --cluster-config-path=./clusters/my-cluster.yaml --kube-config="$(cat ~/.kube/config)" --kube-context my-kubernetes-context --diff-run
生成审计报告文件:
impeller --cluster-config-path=./clusters --audit=true
或
impeller --cluster-config-path=./clusters --audit=true --audit-file=./myreport.csv
简单示例
以下Drone流水线示例展示了如何管理单个集群。推送到或合并至master分支时会自动部署更新。
yamldeploy-charts: when: event: push branch: master image: path-to-docker/image:version cluster_config: clusters/my-cluster-name.yaml kube_context: my-kubernetes-context secrets: - source: my-kube-config-drone-secret target: KUBE_CONFIG
多集群示例
此示例演示使用Drone矩阵管理多个集群。推送到或合并至master分支时会自动部署到测试集群。生产集群可通过drone deploy命令手动部署,以便更好地控制哪些版本进入生产环境。
yamlmatrix: include: - cluster: my-prod-cluster-1 stage: prod - cluster: my-prod-cluster-2 stage: prod - cluster: my-test-cluster-1 stage: test - cluster: my-test-cluster-2 stage: test pipeline: deploy-charts-prod: when: event: deployment matrix: stage: prod cluster: ${DRONE_DEPLOY_TO} image: path-to-docker/image:version cluster_config: clusters/${cluster}.yaml kube_context: ${cluster} secrets: - source: my-kube-config-drone-secret target: KUBE_CONFIG deploy-charts-test: when: event: push branch: master image: path-to-docker/image:version cluster_config: clusters/${cluster}.yaml kube_context: ${cluster} secrets: - source: my-kube-config-drone-secret target: KUBE_CONFIG
chart-configs/ |- clusters/ |- my-cluster-name.yaml |- my-other-cluster-name.yaml |- values/ |- cluster-autoscaler/ # 集群文件中的发布名称 |- default.yaml # 所有集群的覆盖配置 |- my-cluster-name.yaml # 特定集群的覆盖配置 |- my-other-cluster-name.yaml |- my-chart/ |- default.yaml
clusters/my-cluster-name.yaml:
yamlname: my-cluster-name # 用于查找特定集群的覆盖文件 helm: defaultHistory: 3 # 可选;为所有发布的"helm"部署方法设置--history-max标志 log: 5 # 指定日志级别 debug: false # 启用调试级别日志 repos: # 让Helm知晓您要使用的任何仓库 - name: stable url: https://kubernetes-charts.storage.googleapis.com/ - name: private-repo url: https://example.com/my-private-repo/ releases: - name: cluster-autoscaler # 指定发布名称 chartPath: stable/cluster-autoscaler # 指定图表来源 namespace: kube-system # 指定安装的命名空间 version: 0.7.0 # 指定要安装的图表版本 deploymentMethod: helm # 指定图表的部署方式("helm"或"kubectl") history: 3 # 可选;为此发布的"helm"部署方法设置--history-max标志 - name: my-chart chartPath: private-repo/my-chart namespace: kube-system version: ~1.x # 支持与Helm的--version标志相同的语法 deploymentMethod: kubectl
在上述示例中,deploymentMethod选项允许配置Helm图表的部署方式。有两种可用方法:
helm:使用Helm的常规安装方法(由Tiller pod创建图表中声明的资源)。kubectl:如果不想在集群中运行Tiller pod,可使用此选项运行helm template将图表转换为Kubernetes清单,然后使用kubectl应用该清单。values/my-chart/default.yaml:
yaml# 在此处放置任何覆盖配置,与Helm的用法相同。 # 此文件将作为覆盖配置传递给Helm。 resources: cpu: requests: 100m limits: 200m memory: requests: 1Gi limits: 1Gi
release中添加chartsSource字段,使impeller下载图表tar归档文件chartPath指向提取的图表位置。yamlreleases: - name: istio-base namespace: kube-system version: ~x.x.x chartPath: "./downloads/istio-1.6.0/manifests/charts/base" chartsSource: "https://github.com/istio/istio/releases/download/1.6.0/istio-1.6.0-linux-amd64.tar.gz"
使用Helm的--set功能覆盖单个值。
在集群YAML文件中添加以下发布配置:
yaml- name: release-name namespace: default version: 1.0.0 chartPath: repo/chart-name overrides: - target: tls.key showValue: false valueFrom: environment: KEY
如果将showValue设置为true,环境变量的值将记录到stdout以用于调试。默认情况下,该值会被脱敏。
使用Helm的--set-file功能从文件覆盖单个值。
在集群YAML文件中添加以下发布配置:
yaml- name: release-name namespace: default version: 1.0.0 chartPath: repo/chart-name overrides: - target: tls.key valueFrom: file: /path/to/key
由于值不会被记录,从文件设置值时showValue无效。文件路径始终会记录到stdout。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务