
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
registry.k8s.io/sig-storage/nfsplugin是由Kubernetes SIG Storage(存储特别兴趣小组)维护的官方NFS存储插件镜像。该镜像实现了Kubernetes容器存储接口(CSI)规范,用于在Kubernetes集群中管理NFS(网络文件系统)类型的持久卷(Persistent Volume, PV),提供NFS存储与Kubernetes生态的无缝集成能力。
nfs-common或nfs-utils)的Linux节点该插件通常以DaemonSet方式部署在Kubernetes集群的所有节点或指定节点上,确保每个节点均可处理NFS卷操作。典型部署流程如下:
1. 准备RBAC权限配置
yaml# rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: name: nfs-provisioner namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: nfs-provisioner-runner rules: - apiGroups: [""] resources: ["persistentvolumes"] verbs: ["get", "list", "watch", "create", "delete"] - apiGroups: [""] resources: ["persistentvolumeclaims"] verbs: ["get", "list", "watch"] - apiGroups: ["storage.k8s.io"] resources: ["storageclasses"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["events"] verbs: ["create", "update", "patch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: run-nfs-provisioner subjects: - kind: ServiceAccount name: nfs-provisioner namespace: kube-system roleRef: kind: ClusterRole name: nfs-provisioner-runner apiGroup: rbac.authorization.k8s.io
2. 部署DaemonSet
yaml# daemon-set.yaml apiVersion: apps/v1 kind: DaemonSet metadata: name: nfs-plugin namespace: kube-system spec: selector: matchLabels: app: nfs-plugin template: metadata: labels: app: nfs-plugin spec: serviceAccountName: nfs-provisioner containers: - name: nfs-plugin image: registry.k8s.io/sig-storage/nfsplugin:latest args: - --v=2 - --csi-address=/csi/csi.sock volumeMounts: - name: csi-socket-dir mountPath: /csi - name: nfs-client-root mountPath: /var/lib/kubelet/pods mountPropagation: Bidirectional volumes: - name: csi-socket-dir hostPath: path: /var/lib/kubelet/plugins/nfs.csi.k8s.io type: DirectoryOrCreate - name: nfs-client-root hostPath: path: /var/lib/kubelet/pods type: Directory
环境变量配置
| 参数名 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
NFS_SERVER | NFS服务器地址 | 无(必填) | 有效的IP地址或域名 |
NFS_PATH | NFS服务器共享根路径 | 无(必填) | NFS服务器上的共享目录路径 |
NFS_VER | NFS协议版本 | 3 | 3, 4 |
MOUNT_OPTIONS | NFS挂载选项 | 无 | 逗号分隔的挂载参数(如vers=4,sec=sys) |
命令行参数
| 参数 | 描述 | 默认值 |
|---|---|---|
--v | 日志详细程度 | 2(取值范围:0-5,值越大日志越详细) |
--csi-address | CSI socket文件路径 | /csi/csi.sock |
--leader-election | 是否启用leader选举 | true |
--timeout | 卷操作超时时间(秒) | 30 |
1. 静态持久卷(PV)配置
yaml# static-pv.yaml apiVersion: v1 kind: PersistentVolume metadata: name: nfs-static-pv spec: capacity: storage: 10Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain csi: driver: nfs.csi.k8s.io volumeHandle: nfs-static-pv-001 # 唯一标识,建议使用UUID volumeAttributes: server: 192.168.1.100 # NFS服务器地址 share: /data/nfs-share # NFS共享路径 vers: "4" # NFS协议版本 mountOptions: "sec=sys,rw" # 挂载选项
2. 动态供应配置(StorageClass)
yaml# storageclass.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-sc provisioner: nfs.csi.k8s.io parameters: server: 192.168.1.100 # NFS服务器地址 share: /data/nfs-root # NFS共享根路径 vers: "3" # NFS协议版本 mountOptions: "vers=3,soft" # 全局挂载选项 reclaimPolicy: Delete # 卷回收策略(Delete/Retain) volumeBindingMode: Immediate # 卷绑定模式 allowVolumeExpansion: false # 是否支持卷扩容
3. 持久卷声明(PVC)配置
yaml# pvc.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nfs-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 5Gi storageClassName: nfs-sc # 关联上述StorageClass
节点依赖:确保所有Kubernetes节点已安装NFS客户端工具(Debian/Ubuntu:nfs-common;RHEL/CentOS:nfs-utils),否则会导致挂载失败
网络互通:NFS服务器需与Kubernetes节点网络互通,且防火墙需开放NFS服务端口(NFSv3:111、2049、随机端口;NFSv4:2049)
权限配置:NFS服务器共享目录需配置适当权限(如no_root_squash或指定用户ID),避免Pod挂载后权限不足
版本匹配:镜像版本需与Kubernetes集群版本匹配(建议使用与集群版本相同的插件版本,如Kubernetes v1.24对应插件v4.0+)
数据安全:NFS存储本身不提供数据冗余能力,生产环境建议结合NFS服务器的RAID或备份策略保障数据安全
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务