专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

dyrnq/csi-attacher Docker 镜像 - 轩辕镜像

csi-attacher
dyrnq/csi-attacher
Kubernetes CSI存储卷附加器,用于在集群中管理CSI存储卷与节点的附加和分离操作,确保存储卷正确挂载至节点以支持Pod使用,是CSI存储驱动的核心辅助组件。
0 次下载
📦 一套镜像服务,解决研发 / 测试 / 生产三套环境
中文简介版本下载
📦 一套镜像服务,解决研发 / 测试 / 生产三套环境

k8s.gcr.io/sig-storage/csi-attacher 镜像文档

一、镜像概述和主要用途

k8s.gcr.io/sig-storage/csi-attacher 是 Kubernetes SIG Storage 项目维护的 Docker 镜像,包含 CSI(容器存储接口)规范中的 卷附加器(Attacher) 组件。该组件作为 CSI 驱动的辅助容器(Sidecar Container),负责实现 CSI 规范中的卷附加(Attach)与分离(Detach)操作,是 Kubernetes 集群中部署 CSI 存储驱动时的核心辅助组件之一。

二、核心功能和特性

2.1 核心功能
  • 实现 CSI 规范定义的 ControllerPublishVolume(Attach)和 ControllerUnpublishVolume(Detach)操作,将存储卷附加到节点或从节点分离。
  • 监听 Kubernetes API 中的 VolumeAttachment 对象,根据对象状态触发 CSI 驱动的 Attach/Detach 动作。
  • 维护卷附加状态与 Kubernetes 集群状态的一致性,处理重试和失败恢复。
2.2 主要特性
  • CSI 规范兼容:支持 CSI 1.0+ 版本规范,兼容所有遵循 CSI 标准的存储驱动。
  • Kubernetes 集成:通过 Kubernetes API 监听和更新 VolumeAttachment、Node 等资源,实现与集群控制平面的联动。
  • 高可用性:支持 Leader Election 机制,可部署多实例实现高可用(仅 Leader 实例执行实际操作)。
  • 可配置化:支持自定义日志级别、重试间隔、超时时间等参数,适配不同存储驱动的特性。
  • 轻量级设计:作为 Sidecar 容器运行,资源占用低,仅依赖 CSI 驱动的 Unix Domain Socket 通信。

三、使用场景和适用范围

3.1 典型使用场景
  • Kubernetes CSI 驱动部署:在 Kubernetes 集群中部署任何遵循 CSI 规范的存储驱动时,需配合 csi-attacher 实现卷的节点附加/分离逻辑。例如:
    • AWS EBS CSI 驱动
    • GCE PD CSI 驱动
    • Ceph RBD CSI 驱动
    • Azure Disk CSI 驱动
  • 存储卷生命周期管理:作为 CSI 驱动的控制平面组件,与 csi-provisioner(卷供应)、csi-snapshotter(卷快照)等组件协同,完成存储卷从创建到挂载的全流程。
3.2 适用范围
  • 所有基于 Kubernetes 部署的 CSI 存储驱动。
  • 需满足 Kubernetes 版本 ≥ v1.13(CSI 1.0 规范最低要求)。
  • 需配合 CSI 驱动的 Controller 服务(通常通过 Unix Domain Socket 与 csi-attacher 通信)。

四、使用方法和配置说明

4.1 部署方式

csi-attacher 通常作为 Deployment 部署在 Kubernetes 集群中(控制平面组件,非节点级),与 CSI 驱动的 Controller 容器共享同一 Pod,通过挂载 CSI 驱动的 Unix Domain Socket 实现通信。

4.2 核心配置参数

csi-attacher 通过命令行参数配置,常用参数如下:

参数描述默认值
--v日志级别(数值越大日志越详细,如 0=ERROR、5=INFO、10=DEBUG)5
--csi-addressCSI 驱动的 Unix Domain Socket 路径(需通过 hostPath 或 emptyDir 挂载)/var/lib/csi/sockets/pluginproxy/csi.sock
--leader-election是否启用 Leader Election(多实例部署时必选)true
--leader-election-namespaceLeader Election 锁对象所在命名空间当前 Pod 所在命名空间
--retry-interval-start初始重试间隔(单位:秒),失败后指数退避1s
--retry-interval-max最大重试间隔(单位:秒)30s
--timeoutCSI 操作超时时间(单位:秒)120s
4.3 Kubernetes 部署示例(Deployment 清单)

以下是部署 csi-attacher 作为 Sidecar 的示例 YAML(以 generic CSI 驱动为例):

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: csi-attacher
  namespace: kube-system
spec:
  replicas: 2  # 多实例确保高可用(配合 leader election)
  selector:
    matchLabels:
      app: csi-attacher
  template:
    metadata:
      labels:
        app: csi-attacher
    spec:
      serviceAccountName: csi-attacher-sa  # 需绑定 RBAC 权限(见下方)
      containers:
        - name: csi-attacher
          image: k8s.gcr.io/sig-storage/csi-attacher:v4.0.0  # 替换为实际版本
          args:
            - "--v=5"
            - "--csi-address=/csi/csi.sock"  # 对应 CSI 驱动的 socket 路径
            - "--leader-election=true"
            - "--leader-election-namespace=kube-system"
            - "--retry-interval-start=1"
            - "--retry-interval-max=30"
          volumeMounts:
            - name: csi-socket-dir
              mountPath: /csi  # 挂载 CSI 驱动的 socket 目录
        # 此处省略 CSI 驱动的 Controller 容器配置(需与 csi-attacher 共享 csi-socket-dir 卷)
      volumes:
        - name: csi-socket-dir
          emptyDir: {}  # 或 hostPath(若 CSI 驱动 socket 位于节点本地)
4.4 RBAC 权限配置

csi-attacher 需要访问 Kubernetes API 操作 VolumeAttachment 等资源,需配置 RBAC 权限(示例):

yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: csi-attacher-role
rules:
  - apiGroups: ["storage.k8s.io"]
    resources: ["volumeattachments"]
    verbs: ["get", "list", "watch", "create", "update", "delete"]
  - apiGroups: ["storage.k8s.io"]
    resources: ["volumeattachments/status"]
    verbs: ["update"]
  - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: csi-attacher-binding
subjects:
  - kind: ServiceAccount
    name: csi-attacher-sa
    namespace: kube-system
roleRef:
  kind: ClusterRole
  name: csi-attacher-role
  apiGroup: rbac.authorization.k8s.io
4.5 Docker 运行示例(仅作演示,实际推荐 Kubernetes 部署)
bash
# 需提前准备 CSI 驱动的 socket 文件(如 /host/var/lib/csi/sock/csi.sock)
docker run -d \
  --name csi-attacher \
  -v /host/var/lib/csi/sock:/csi \  # 挂载 CSI 驱动的 socket 目录
  k8s.gcr.io/sig-storage/csi-attacher:v4.0.0 \
  --v=5 \
  --csi-address=/csi/csi.sock \
  --leader-election=false  # 单实例运行时禁用 leader election

五、注意事项

  1. 权限依赖:需确保 csi-attacher 的服务账户拥有访问 VolumeAttachment、Node 资源的权限,否则会导致操作失败。
  2. CSI 驱动兼容性:需与 CSI 驱动的版本匹配(例如 CSI 1.5 驱动需使用支持 CSI 1.5 的 csi-attacher 版本)。
  3. Socket 通信:--csi-address 必须指向 CSI 驱动 Controller 暴露的 Unix Domain Socket,且路径需通过卷挂载共享到 csi-attacher 容器。
  4. 高可用配置:生产环境建议部署 2+ 实例,并启用 --leader-election,避免单点故障。
查看更多 csi-attacher 相关镜像 →
longhornio/csi-attacher logo
longhornio/csi-attacher
CSI Attacher是管理CSI(容器存储接口)卷连接与挂载的组件,在容器编排系统中协调存储卷与节点的关联,确保存储资源正确分配并支持卷的动态生命周期管理。
10M+ pulls
上次更新:未知
linode/csi-attacher logo
linode/csi-attacher
监视Kubernetes VolumeAttachment对象并触发ControllerPublish/Unpublish操作,管理卷挂载与卸载流程的Docker镜像。
500K+ pulls
上次更新:未知
giantswarm/csi-attacher logo
giantswarm/csi-attacher
暂无描述
100K+ pulls
上次更新:未知
xiaochong2018/csi-attacher logo
xiaochong2018/csi-attacher
暂无描述
10K+ pulls
上次更新:未知
csiplugin/csi-attacher logo
csiplugin/csi-attacher
暂无描述
110K+ pulls
上次更新:未知
apecloud/csi-attacher logo
apecloud/csi-attacher
暂无描述
10K+ pulls
上次更新:未知

轩辕镜像配置手册

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

登录仓库拉取

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

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

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

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
dyrnq/csi-attacher
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.