如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Nuwa作为云平台的数据平面工具,旨在解决Kubernetes原生Deployment和Statefulset在部署策略上的局限性。原生资源仅提供基础发布策略,无法满足跨机房发布、分组批量发布、Deployment缺乏步骤控制等场景需求。Nuwa支持有状态资源(Stone)和无状态资源(Water)部署,并具备动态资源注入(Injector)能力。
需为Kubernetes节点添加区域、机架和主机标签,用于Nuwa的地理位置部署控制:
shellkubectl label nodes node2 nuwa.io/zone=A nuwa.io/rack=W-01 nuwa.io/host=node1 --overwrite kubectl label nodes node3 nuwa.io/zone=A nuwa.io/rack=S-02 nuwa.io/host=node2 --overwrite kubectl label nodes node4 nuwa.io/zone=B nuwa.io/rack=W-01 nuwa.io/host=node3 --overwrite kubectl label nodes node5 nuwa.io/zone=B nuwa.io/rack=S-02 nuwa.io/host=node4 --overwrite
通过以下命令安装Nuwa自定义资源定义:
shellkubectl apply -f https://github.com/yametech/nuwa/releases/download/v1.0.0/release.yaml
基于Kubernetes原生Deployment的高级实现,主要特性包括:
部署策略设计用于降低因Pod错误导致的服务抖动风险,通过分阶段发布并确认的方式控制发布节奏:
yamlapiVersion: nuwa.nip.io/v1 kind: Water metadata: name: water-sample spec: strategy: Release # 部署策略:Alpha/Beta/Release template: metadata: name: water-sample labels: app: water-sample spec: containers: - name: cn-0 image: nginx:latest imagePullPolicy: IfNotPresent service: # 可选:创建关联Service ports: - name: default-web-port protocol: TCP port: 80 targetPort: 80 type: NodePort coordinates: # 地理位置部署配置 - zone: A rack: W-01 host: node1 replicas: 1 # 该位置部署副本数 - zone: A rack: S-02 host: node2 replicas: 1 - zone: B rack: W-01 host: node3 replicas: 1 - zone: B rack: S-02 host: node4 replicas: 1
基于Kubernetes原生Statefulset的高级实现,主要特性包括:
yamlapiVersion: nuwa.nip.io/v1 kind: Stone metadata: name: stone-example spec: strategy: Release # 部署策略:Alpha/Beta/Omega/Release template: metadata: name: sample labels: app: stone-example spec: containers: - name: cn-0 image: nginx:alpine imagePullPolicy: IfNotPresent service: # 可选:创建关联Service ports: - name: default-web-port protocol: TCP port: 80 targetPort: 80 type: NodePort coordinates: # 分组部署配置 - group: A # 分组名称 replicas: 3 # 该组总副本数 zoneset: # 该组包含的地理位置 - zone: A rack: W-01 host: node1 - zone: A rack: S-02 host: node2 - group: B replicas: 2 zoneset: - zone: B rack: W-01 host: node3 - zone: B rack: S-02 host: node4
基于CRD+Sidecar实现的动态注入机制,允许用户动态注入日志收集、配置文件、跟踪代理等组件。支持在业务容器之前或之后注入,可与Water和Stone资源结合使用。当Water资源被删除时,对应的Injector资源会自动垃圾回收。
yaml# Water资源定义 apiVersion: nuwa.nip.io/v1 kind: Water metadata: name: water-sample spec: strategy: Release template: metadata: name: sample labels: app: water-sample # 需与Injector的selector匹配 spec: containers: - name: cn-0 image: nginx:latest imagePullPolicy: IfNotPresent service: ports: - name: default-web-port protocol: TCP port: 80 targetPort: 80 type: NodePort coordinates: - zone: A rack: W-01 host: node1 replicas: 2 - zone: A rack: S-02 host: node2 replicas: 0 - zone: B rack: W-01 host: node3 replicas: 0 - zone: B rack: S-02 host: node4 replicas: 0 --- # Injector资源定义(在业务容器前注入busybox容器) apiVersion: nuwa.nip.io/v1 kind: Injector metadata: name: water-sample spec: namespace: ${CURRENT_NAMESPACE} # 当前命名空间 name: water-sample # 关联的Water资源名称 resourceType: Water # 关联资源类型 selector: # 匹配目标Pod的标签 matchLabels: app: water-sample preContainers: # 在业务容器前注入的容器 - name: count image: busybox args: - /bin/sh - -c - > i=0; while true; do echo "$i: $(date)" >> /var/log/1.log; echo "$(date) INFO $i" >> /var/log/2.log; i=$((i+1)); sleep 1; done volumeMounts: - name: varlog mountPath: /var/log volumes: # 注入容器使用的存储卷 - name: varlog emptyDir: {}
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


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