
gluster/glusterfs-csi-driver该镜像为GlusterFS的CSI(Container Storage Interface)驱动实现,专门兼容GD2(GlusterD 2.0)管理的GlusterFS存储集群。CSI驱动作为容器编排平台(如Kubernetes)与存储系统间的标准化接口,可将GlusterFS的分布式存储能力集成到容器环境中,为应用提供持久化存储服务。
--feature-gates=CSINodeInfo=true,CSIDriverRegistry=true)。通过Kubernetes YAML清单部署CSI控制器和节点插件(以下为示例,具体清单需根据实际环境调整):
yaml# csi-glusterfs-controller.yaml(控制器组件) apiVersion: apps/v1 kind: StatefulSet metadata: name: csi-glusterfs-controller namespace: kube-system spec: serviceName: "csi-glusterfs" replicas: 1 selector: matchLabels: app: csi-glusterfs-controller template: metadata: labels: app: csi-glusterfs-controller spec: serviceAccountName: csi-glusterfs-controller-sa containers: - name: csi-provisioner image: k8s.gcr.io/sig-storage/csi-provisioner:v3.1.0 args: - "--csi-address=$(ADDRESS)" - "--v=5" env: - name: ADDRESS value: /var/lib/csi/sockets/pluginproxy/csi.sock volumeMounts: - name: socket-dir mountPath: /var/lib/csi/sockets/pluginproxy/ - name: glusterfs-csi-driver image: <镜像名称:标签> # 替换为实际镜像名称 args: - "--endpoint=$(CSI_ENDPOINT)" - "--nodeid=$(NODE_ID)" - "--drivername=glusterfs.csi.k8s.io" env: - name: CSI_ENDPOINT value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock - name: NODE_ID valueFrom: fieldRef: fieldPath: spec.nodeName volumeMounts: - name: socket-dir mountPath: /var/lib/csi/sockets/pluginproxy/ - name: glusterfs-config mountPath: /etc/glusterfs readOnly: true volumes: - name: socket-dir emptyDir: {} - name: glusterfs-config configMap: name: glusterfs-config # 包含GlusterFS集群配置的ConfigMap
定义Kubernetes StorageClass,指定CSI驱动及GlusterFS集群参数:
yamlapiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: glusterfs-csi-sc provisioner: glusterfs.csi.k8s.io parameters: resturl: "[***]" # GD2的REST API地址(多个地址用逗号分隔) restuser: "admin" # GD2管理员用户名(如启用认证) secretName: "glusterfs-secret" # 存储认证信息的Secret名称(如启用认证) secretNamespace: "kube-system" # Secret所在命名空间 volumetype: "replicate:3" # GlusterFS卷类型(如replicate、distribute) reclaimPolicy: Delete # 卷回收策略(Delete/Retain) allowVolumeExpansion: true # 允许卷扩展(需GlusterFS支持)
通过PVC动态申请存储:
yamlapiVersion: v1 kind: PersistentVolumeClaim metadata: name: glusterfs-csi-pvc spec: accessModes: - ReadWriteMany # GlusterFS支持的访问模式(ReadWriteOnce/ReadWriteMany/ReadOnlyMany) resources: requests: storage: 10Gi # 请求存储容量 storageClassName: glusterfs-csi-sc # 关联上述StorageClass
| 参数名 | 描述 | 示例值 | 是否必填 |
|---|---|---|---|
| resturl | GD2的REST API地址,多个地址用逗号分隔 | [***] | 是 |
| restuser | GD2管理员用户名(如启用认证) | admin | 否 |
| secretName | 存储GD2认证信息的Secret名称 | glusterfs-secret | 否 |
| secretNamespace | Secret所在命名空间 | kube-system | 否 |
| volumetype | GlusterFS卷类型,格式为"类型:副本数" | replicate:3, distribute | 否 |
allowVolumeExpansion后,需确保GlusterFS集群支持卷扩展(如使用thin-arbiter或replicate卷类型)。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务