如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Grafana Multi-AZ Rollout Operator 是一个 Kubernetes Operator 镜像,专为协调多可用区(Multi-AZ)部署场景下的 StatefulSet 滚动更新而设计。该 Operator 通过自定义逻辑跨多个 StatefulSet 协调 Pod 滚动策略,确保多 AZ 环境中 Stateful 应用的更新过程有序、可控,避免因跨 AZ 同时中断导致的服务不可用风险。
topology.kubernetes.io/zone),实现 AZ 级别的更新优先级控制kubectl 工具已配置集群访问权限1. 安装 CRD
Operator 依赖自定义资源(CR)实现配置管理,需先部署 CRD:
bashkubectl apply -f https://github.com/grafana/rollout-operator/releases/latest/download/crd.yaml
2. 部署 Operator
通过 Kubernetes Deployment 部署 Operator 控制器(镜像为 grafana/rollout-operator:<tag>,需替换 <tag> 为具体版本):
部署清单示例(deployment.yaml):
yamlapiVersion: apps/v1 kind: Deployment metadata: name: rollout-operator namespace: grafana-rollout-operator # 建议使用独立命名空间 spec: replicas: 1 selector: matchLabels: app: rollout-operator template: metadata: labels: app: rollout-operator spec: serviceAccountName: rollout-operator # 需提前创建 RBAC 权限 containers: - name: operator image: grafana/rollout-operator:latest # 替换为实际版本标签 resources: limits: cpu: 500m memory: 512Mi requests: cpu: 200m memory: 256Mi env: - name: WATCH_NAMESPACE value: "default" # 指定监听的命名空间,为空则监听所有命名空间 - name: LOG_LEVEL value: "info" # 日志级别:debug/info/warn/error - name: OPERATOR_NAME value: "rollout-operator"
应用部署清单:
bashkubectl apply -f deployment.yaml
3. 创建滚动更新配置(CR 示例)
通过自定义资源(CR)定义多 AZ 滚动策略,示例如下:
CR 清单示例(rollout-config.yaml):
yamlapiVersion: rollout.grafana.com/v1alpha1 kind: MultiAZRollout metadata: name: example-multiaz-rollout namespace: default # 需与监听命名空间一致 spec: # StatefulSet 选择器:匹配需协调的 StatefulSet statefulSetSelector: matchLabels: app: my-stateful-app # 替换为实际 StatefulSet 标签 # 滚动更新策略 rollingUpdate: maxUnavailable: 1 # 每次更新最大不可用 Pod 数 intervalSeconds: 30 # 批次更新间隔(秒) azTopologyKey: "topology.kubernetes.io/zone" # AZ 拓扑标签键 # AZ 更新顺序(可选,默认按字母序) azOrder: - "us-west-2a" - "us-west-2b" - "us-west-2c"
应用 CR 配置:
bashkubectl apply -f rollout-config.yaml
| 参数路径 | 类型 | 说明 | 默认值 |
|---|---|---|---|
spec.statefulSetSelector | LabelSelector | 用于选择目标 StatefulSet 的标签选择器 | 无(必填) |
spec.rollingUpdate.maxUnavailable | int/string | 滚动更新时允许的最大不可用 Pod 数(支持百分比,如 "25%") | 1 |
spec.rollingUpdate.intervalSeconds | int | 批次更新间隔时间(秒) | 30 |
spec.rollingUpdate.azTopologyKey | string | 用于识别 AZ 的节点标签键 | topology.kubernetes.io/zone |
spec.azOrder | []string | AZ 更新优先级顺序(按列表顺序依次更新) | 按 AZ 名称字母序 |
spec.namespace | string | 目标 StatefulSet 所在命名空间(需与 CR 所在命名空间一致) | CR 所在命名空间 |
| 环境变量 | 说明 | 可选值 | 默认值 |
|---|---|---|---|
WATCH_NAMESPACE | Operator 监听的命名空间(多命名空间用逗号分隔,为空则监听所有) | 命名空间名称或空字符串 | 空(监听所有命名空间) |
LOG_LEVEL | 日志输出级别 | debug/info/warn/error | info |
OPERATOR_NAME | Operator 标识名称 | 字符串 | rollout-operator |
METRICS_PORT | 指标暴露端口 | 1024-65535 | 8080 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务