专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

macrosan/csi-driver Docker 镜像 - 轩辕镜像

csi-driver
macrosan/csi-driver
MacroSAN CSI驱动是实现容器存储接口(CSI)的驱动程序,用于将MacroSAN存储系统与容器编排平台集成,提供容器化环境中的存储服务。
0 次下载activemacrosan镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

MacroSAN CSI Driver 技术文档

一、镜像概述和主要用途

MacroSAN CSI Driver 是符合容器存储接口(CSI)规范的存储驱动程序,用于在 Kubernetes 集群中连接 MacroSAN 存储系统,为容器化应用提供持久化存储服务。该驱动实现了 CSI 规范定义的卷创建、删除、挂载、卸载等核心操作,支持与 MacroSAN 存储系统的深度集成,使 Kubernetes 集群能够动态管理 MacroSAN 存储资源,满足容器应用对持久化存储的需求。

二、核心功能和特性

2.1 核心功能
  • 动态卷配置:支持通过 Kubernetes StorageClass 动态创建、删除 MacroSAN 存储卷(LUN)。
  • 卷生命周期管理:提供卷挂载、卸载、扩容(在线/离线)、快照、克隆等完整生命周期管理能力。
  • 多访问模式支持:支持单节点读写(RWO)、多节点读写(RWX)、单节点只读(ROX)等卷访问模式。
  • 存储资源隔离:支持基于 MacroSAN 存储池(Storage Pool)的资源隔离,可指定卷创建到特定存储池。
2.2 关键特性
  • 兼容性:符合 CSI 1.3+ 规范,兼容 Kubernetes 1.18+ 版本。
  • QoS 策略支持:可通过 StorageClass 参数配置卷的 IOPS、带宽等 QoS 限制,保障应用存储性能。
  • 高可用性:支持 MacroSAN 存储系统的冗余架构,卷数据高可用存储。
  • 简化管理:通过 Kubernetes 原生存储接口(PVC、StorageClass)统一管理存储资源,无需手动操作存储系统。

三、使用场景和适用范围

3.1 典型使用场景
  • Kubernetes 持久化存储:为集群内 StatefulSet 应用(如数据库、消息队列、分布式文件系统)提供持久化存储。
  • 高性能存储需求:适用于对存储 IOPS、吞吐量有较高要求的应用(如 MySQL、PostgreSQL、Elasticsearch)。
  • 数据高可用场景:通过 MacroSAN 存储系统的冗余机制,保障容器应用数据的高可用性和可靠性。
  • 动态资源调整:支持根据应用需求动态扩容卷容量或调整 QoS 策略,适应业务增长。
3.2 适用范围
  • Kubernetes 版本:1.18+(需支持 CSI 1.3+ 规范)。
  • MacroSAN 存储系统:支持 REST API 接口的 MacroSAN 存储阵列(具体版本需参考厂商兼容性列表)。
  • 操作系统:Linux 内核 4.19+ 的节点(需支持 iscsiadm 或 multipathd 工具,用于卷挂载)。

四、使用方法和配置说明

4.1 部署前提
  • Kubernetes 集群:已部署 Kubernetes 1.18+ 集群,且集群节点网络可访问 MacroSAN 存储系统管理接口和数据接口。
  • MacroSAN 存储系统:
    • 已创建存储池(Storage Pool),并确保存储池有足够容量。
    • 已配置用于 CSI 驱动认证的用户(需具备卷管理权限)。
    • 已开启 iSCSI 或 FC 协议(根据存储网络类型选择,推荐 iSCSI 用于通用场景)。
  • 节点依赖:Kubernetes 节点需安装 iscsi-initiator-utils(iSCSI 客户端)和 multipath-tools(多路径工具)。
4.2 部署步骤
4.2.1 部署 CSI Driver

推荐通过 Helm Chart 或 Kubernetes YAML 清单部署 MacroSAN CSI Driver。以下为 YAML 部署示例:

  1. 下载部署清单
    从 MacroSAN 官方获取驱动部署文件(如 macro-san-csi-driver.yaml),包含 Controller 和 Node 组件。

  2. 配置存储系统连接信息
    在部署清单中修改或通过 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")
    
  3. 部署驱动

    bash
    kubectl apply -f macro-san-csi-driver.yaml
    
  4. 验证部署
    检查 Controller 和 Node 组件是否运行正常:

    bash
    kubectl get pods -n kube-system | grep macro-san-csi
    

    预期输出:Controller 组件(1 个副本)和 Node 组件(每个节点 1 个副本)均为 Running 状态。

4.2.2 创建 StorageClass

通过 StorageClass 定义存储资源的属性(如存储池、访问模式、QoS 等),示例如下:

yaml
apiVersion: 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  # 确保网络就绪后再挂载
4.2.3 创建 PVC 和使用存储
  1. 创建 PVC
    通过 PVC 请求存储资源,引用上述 StorageClass:

    yaml
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: macro-san-pvc
    spec:
      accessModes:
        - ReadWriteOnce  # 单节点读写(支持 ReadWriteMany 需存储系统配置)
      resources:
        requests:
          storage: 10Gi  # 请求 10GiB 存储
      storageClassName: macro-san-sc  # 引用上述 StorageClass
    
  2. 创建 Pod 使用 PVC

    yaml
    apiVersion: 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
    
4.3 核心配置参数
4.3.1 StorageClass 参数
参数名描述可选值默认值
storagePool指定 MacroSAN 存储池名称存储系统中存在的池名无(必填)
protocol存储协议iscsi/fciscsi
iopsLimit卷 IOPS 限制(0 为无限制)正整数0
bandwidthLimit卷带宽限制(MB/s,0 为无限制)正整数0
thinProvision是否启用精简配置true/falsetrue
4.3.2 驱动部署环境变量

在 CSI Controller/Node 组件的 Deployment/DaemonSet 中配置,用于驱动与存储系统交互:

环境变量名描述示例值
MANAGEMENT_ENDPOINTMacroSAN 存储系统管理接口地址[***]
USERNAME存储系统认证用户名csi-user
PASSWORD存储系统认证密码csi-password
LOG_LEVEL驱动日志级别info/debug

五、部署验证与故障排查

5.1 验证存储可用性
  1. 检查 PVC 状态:kubectl get pvc macro-san-pvc,状态应为 Bound。
  2. 检查 Pod 状态:kubectl get pod macro-san-test-pod,状态应为 Running。
  3. 进入 Pod 验证挂载:kubectl exec -it macro-san-test-pod -- df -h /data,确认存储卷已挂载。
5.2 常见故障排查
  • PVC Pending:检查 StorageClass 是否存在、storagePool 参数是否正确,或存储池容量是否充足。
  • 卷挂载失败:检查节点 iscsi-initiator-utils 是否安装,存储系统 iSCSI 服务是否正常,节点与存储系统数据网络是否连通。
  • 驱动日志:查看 CSI Controller/Node Pod 日志:kubectl logs -n kube-system <macro-san-csi-controller-pod> -c csi-provisioner。

六、版本兼容性

MacroSAN CSI Driver 版本支持的 Kubernetes 版本支持的 MacroSAN 存储系统版本
v1.0.x1.18-1.22v6.0+
v1.1.x1.20-1.25v6.5+

注:具体版本兼容性请参考 MacroSAN 官方文档。

查看更多 csi-driver 相关镜像 →
datadog/csi-driver logo
datadog/csi-driver
by Datadog
认证
暂无描述
10K+ pulls
上次更新:1 个月前
exoscale/csi-driver logo
exoscale/csi-driver
by exoscale
暂无描述
100K+ pulls
上次更新:6 天前
diamanti/csi-driver logo
diamanti/csi-driver
by diamanti
Diamanti CSI Driver是用于Kubernetes的容器存储接口驱动,实现Kubernetes集群与Diamanti存储系统的集成,提供动态存储配置、高可用及高性能的持久化存储服务。
100K+ pulls
上次更新:4 个月前
iomesh/csi-driver logo
iomesh/csi-driver
by iomesh
暂无描述
10K+ pulls
上次更新:6 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
macrosan/csi-driver
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429