MacroSAN CSI Driver 是符合容器存储接口(CSI)规范的存储驱动程序,用于在 Kubernetes 集群中连接 MacroSAN 存储系统,为容器化应用提供持久化存储服务。该驱动实现了 CSI 规范定义的卷创建、删除、挂载、卸载等核心操作,支持与 MacroSAN 存储系统的深度集成,使 Kubernetes 集群能够动态管理 MacroSAN 存储资源,满足容器应用对持久化存储的需求。
iscsiadm 或 multipathd 工具,用于卷挂载)。iscsi-initiator-utils(iSCSI 客户端)和 multipath-tools(多路径工具)。推荐通过 Helm Chart 或 Kubernetes YAML 清单部署 MacroSAN CSI Driver。以下为 YAML 部署示例:
下载部署清单
从 MacroSAN ***获取驱动部署文件(如 macro-san-csi-driver.yaml),包含 Controller 和 Node 组件。
配置存储系统连接信息
在部署清单中修改或通过 Secret 配置 MacroSAN 存储系统地址、用户名、密码:
yaml# 创建认证 Secret(示例) apiVersion: v1 kind: Secret metadata: name: macro-san-secret namespace: kube-system type: Opaque data: username: <base64-encoded-username> # 用户名 base64 编码 password: <base64-encoded-password> # 密码 base64 编码 management-endpoint: <base64-encoded-ip:port> # 存储系统管理接口地址(如 "192.168.1.100:8443")
部署驱动
bashkubectl apply -f macro-san-csi-driver.yaml
验证部署
检查 Controller 和 Node 组件是否运行正常:
bashkubectl get pods -n kube-system | grep macro-san-csi
预期输出:Controller 组件(1 个副本)和 Node 组件(每个节点 1 个副本)均为 Running 状态。
通过 StorageClass 定义存储资源的属性(如存储池、访问模式、QoS 等),示例如下:
yamlapiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: macro-san-sc provisioner: csi.macrosan.com # CSI Driver provisioner 名称(需与驱动配置一致) parameters: storagePool: "pool-1" # MacroSAN 存储池名称 protocol: "iscsi" # 存储协议(iscsi/fc) iopsLimit: "1000" # 卷 IOPS 限制(可选,0 为无限制) bandwidthLimit: "100" # 卷带宽限制(MB/s,可选,0 为无限制) reclaimPolicy: Delete # 卷回收策略(Delete/Retain) allowVolumeExpansion: true # 允许卷扩容 mountOptions: - _netdev # 确保网络就绪后再挂载
创建 PVC
通过 PVC 请求存储资源,引用上述 StorageClass:
yamlapiVersion: v1 kind: PersistentVolumeClaim metadata: name: macro-san-pvc spec: accessModes: - ReadWriteOnce # 单节点读写(支持 ReadWriteMany 需存储系统配置) resources: requests: storage: 10Gi # 请求 10GiB 存储 storageClassName: macro-san-sc # 引用上述 StorageClass
创建 Pod 使用 PVC
yamlapiVersion: v1 kind: Pod metadata: name: macro-san-test-pod spec: containers: - name: test-container image: nginx:latest volumeMounts: - name: macro-san-volume mountPath: /data volumes: - name: macro-san-volume persistentVolumeClaim: claimName: macro-san-pvc # 引用上述 PVC
| 参数名 | 描述 | 可选值 | 默认值 |
|---|---|---|---|
storagePool | 指定 MacroSAN 存储池名称 | 存储系统中存在的池名 | 无(必填) |
protocol | 存储协议 | iscsi/fc | iscsi |
iopsLimit | 卷 IOPS 限制(0 为无限制) | 正整数 | 0 |
bandwidthLimit | 卷带宽限制(MB/s,0 为无限制) | 正整数 | 0 |
thinProvision | 是否启用精简配置 | true/false | true |
在 CSI Controller/Node 组件的 Deployment/DaemonSet 中配置,用于驱动与存储系统交互:
| 环境变量名 | 描述 | 示例值 |
|---|---|---|
MANAGEMENT_ENDPOINT | MacroSAN 存储系统管理接口地址 | [***] |
USERNAME | 存储系统认证用户名 | csi-user |
PASSWORD | 存储系统认证密码 | csi-password |
LOG_LEVEL | 驱动日志级别 | info/debug |
kubectl get pvc macro-san-pvc,状态应为 Bound。kubectl get pod macro-san-test-pod,状态应为 Running。kubectl exec -it macro-san-test-pod -- df -h /data,确认存储卷已挂载。storagePool 参数是否正确,或存储池容量是否充足。iscsi-initiator-utils 是否安装,存储系统 iSCSI 服务是否正常,节点与存储系统数据网络是否连通。kubectl logs -n kube-system <macro-san-csi-controller-pod> -c csi-provisioner。| MacroSAN CSI Driver 版本 | 支持的 Kubernetes 版本 | 支持的 MacroSAN 存储系统版本 |
|---|---|---|
| v1.0.x | 1.18-1.22 | v6.0+ |
| v1.1.x | 1.20-1.25 | v6.5+ |
注:具体版本兼容性请参考 MacroSAN ***文档。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429