dellemc/csi-metadata-retrieverCSI Metadata Retriever是一个轻量级工具镜像,专门用于从Container Storage Interface (CSI)存储系统中检索、解析和输出元数据。该镜像设计用于与Kubernetes等容器编排平台集成,帮助用户或自动化系统获取存储卷相关的元数据信息,如卷ID、容量、访问模式、存储后端属性等,适用于存储管理、监控和自动化场景。
通过docker run命令直接运行镜像,需指定CSI驱动端点(通常为CSI驱动的Unix域套接字路径):
bashdocker run --rm \ -e CSI_ENDPOINT=unix:///csi/csi.sock \ -v /path/to/csi/socket:/csi/csi.sock:ro \ csi-metadata-retriever:latest
-v /path/to/csi/socket:/csi/csi.sock:ro:挂载CSI驱动的Unix域套接字到容器内,确保容器可访问CSI驱动-e CSI_ENDPOINT:指定CSI驱动端点地址(必填),格式为unix://<socket-path>或tcp://<ip>:<port>| 环境变量 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
CSI_ENDPOINT | CSI驱动端点地址(Unix域套接字或TCP地址) | 无(必填) | unix://<path>/tcp://<ip>:<port> |
OUTPUT_FORMAT | 元数据输出格式 | json | json/yaml/text |
LOG_LEVEL | 日志输出级别 | info | info/warn/debug/error |
VOLUME_ID | 目标存储卷ID(若指定,则仅检索该卷元数据;不指定则检索所有可见卷) | 无(可选) | 卷ID字符串 |
TIMEOUT | 元数据检索超时时间(秒) | 30 | 正整数 |
在Kubernetes集群中,可通过Pod部署CSI Metadata Retriever,挂载CSI驱动的Unix域套接字(通常位于节点的/var/lib/kubelet/plugins_registry/或CSI驱动指定路径):
yamlapiVersion: v1 kind: Pod metadata: name: csi-metadata-retriever namespace: default spec: containers: - name: retriever image: csi-metadata-retriever:latest env: - name: CSI_ENDPOINT value: "unix:///csi/csi.sock" # 容器内套接字路径 - name: OUTPUT_FORMAT value: "yaml" # 指定YAML格式输出 - name: LOG_LEVEL value: "debug" # 开启调试日志 volumeMounts: - name: csi-socket mountPath: /csi/csi.sock readOnly: true volumes: - name: csi-socket hostPath: path: /var/lib/kubelet/plugins_registry/csi-driver-example.sock # 节点上的CSI驱动套接字路径 type: Socket restartPolicy: Never
json{ "volumes": [ { "volumeId": "vol-***", "capacity": "10Gi", "accessModes": ["ReadWriteOnce"], "storageClass": "csi-example-sc", "backend": { "type": "ceph", "pool": "rbd-pool", "image": "rbd-vol-***" } } ] }
ControllerGetVolume或NodeGetVolume接口)hostPath挂载时设置readOnly: true

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务