
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
DigitalOcean CSI Plugin是DigitalOcean官方提供的容器存储接口(CSI)插件,用于将DigitalOcean块存储(Block Storage)无缝集成到容器编排平台(如Kubernetes)。通过该插件,用户可在容器环境中便捷地使用DigitalOcean块存储,实现持久卷(Persistent Volume)的动态配置、挂载、快照、扩展等全生命周期管理,满足容器化应用对持久化存储的需求。
write权限)kubectl命令行工具已配置并连接到目标集群1. 准备DigitalOcean API令牌
获取DigitalOcean个人访问令牌(PAT),步骤:
write权限,保存令牌值(后续使用DO_API_TOKEN指代)2. 创建Secret存储API令牌
bashkubectl create secret generic digitalocean-secret \ --namespace kube-system \ --from-literal=access-token=DO_API_TOKEN
替换
DO_API_TOKEN为实际的API令牌
3. 部署CSI插件
使用官方提供的部署清单部署插件:
bashkubectl apply -f https://raw.githubusercontent.com/digitalocean/csi-digitalocean/master/deploy/kubernetes/releases/csi-digitalocean-v4.0.0.yaml
注意:请通过https://github.com/digitalocean/csi-digitalocean%E8%8E%B7%E5%8F%96%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E6%B8%85%E5%8D%95%E5%9C%B0%E5%9D%80
环境变量(CSI控制器/节点组件)
| 环境变量名 | 必选 | 描述 | 默认值 |
|---|---|---|---|
DO_API_TOKEN | 是 | DigitalOcean API访问令牌 | 无 |
DO_REGION | 否 | DigitalOcean区域(如nyc1),若未指定将自动从节点元数据获取 | 自动检测 |
LOG_LEVEL | 否 | 日志级别(debug/info/warn/error) | info |
HTTP_PROXY | 否 | HTTP代理地址 | 无 |
HTTPS_PROXY | 否 | HTTPS代理地址 | 无 |
StorageClass配置参数
创建StorageClass时可指定以下参数:
| 参数名 | 描述 | 可选值 | 默认值 |
|---|---|---|---|
reclaimPolicy | 卷回收策略 | Delete/Retain | Delete |
volumeBindingMode | 卷绑定模式 | Immediate/WaitForFirstConsumer | Immediate |
type | DigitalOcean卷类型 | s-1vcpu-1gb(标准)/s-2vcpu-4gb(性能)等 | s-1vcpu-1gb |
fstype | 文件系统类型 | ext4/xfs | ext4 |
1. 创建StorageClass
yamlapiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: do-block-storage provisioner: dobs.csi.digitalocean.com parameters: type: "s-2vcpu-4gb" # 性能型卷 fstype: "ext4" reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer
应用配置:
bashkubectl apply -f storageclass.yaml
2. 创建PersistentVolumeClaim (PVC)
yamlapiVersion: v1 kind: PersistentVolumeClaim metadata: name: example-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi # 请求10GB存储 storageClassName: do-block-storage
应用配置:
bashkubectl apply -f pvc.yaml
3. 创建Pod使用PVC
yamlapiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: app image: nginx:latest volumeMounts: - name: data mountPath: /usr/share/nginx/html volumes: - name: data persistentVolumeClaim: claimName: example-pvc
应用配置:
bashkubectl apply -f pod.yaml
检查CSI组件状态
bashkubectl get pods -n kube-system | grep csi-digitalocean
预期输出包含运行中的控制器和节点 pods:
csi-digitalocean-controller-xxxxxxxxx-xxxxx 3/3 Running 0 5m csi-digitalocean-node-xxxxx 2/2 Running 0 5m
检查PV和PVC状态
bashkubectl get pv kubectl get pvc
创建卷快照(需部署快照控制器)
yamlapiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: example-snapshot spec: volumeSnapshotClassName: do-block-storage-snapshot source: persistentVolumeClaimName: example-pvc
allowVolumeExpansion: trueDelete)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务