
longhornio/csi-resizerCSI Resizer是Container Storage Interface (CSI)规范定义的辅助组件,用于实现Kubernetes集群中持久卷声明(PersistentVolumeClaim, PVC)的动态扩容。其核心功能是监控PVC的存储容量变更请求,通过与CSI存储驱动交互执行卷扩容操作,并同步更新Kubernetes资源状态,为应用提供弹性存储能力。
spec.resources.requests.storage字段的变更,触发扩容流程ControllerExpandVolume/NodeExpandVolume)与存储驱动协同完成卷容量调整status.capacity.storage):8080端口)及结构化日志输出ControllerExpandVolume接口的存储驱动CSI Resizer通常以Pod形式部署在Kubernetes集群中,推荐通过Deployment部署(控制平面组件模式),配合CSI驱动的Socket通信实现功能。
yamlapiVersion: apps/v1 kind: Deployment metadata: name: csi-resizer namespace: kube-system spec: replicas: 1 selector: matchLabels: app: csi-resizer template: metadata: labels: app: csi-resizer spec: serviceAccountName: csi-resizer-sa containers: - name: csi-resizer image: registry.k8s.io/sig-storage/csi-resizer:v1.8.0 args: - --v=5 - --csi-address=/csi/csi.sock - --driver-name=my-csi-driver.example.com - --leader-election=true - --metrics-addr=:8080 volumeMounts: - name: socket-dir mountPath: /csi ports: - containerPort: 8080 name: metrics volumes: - name: socket-dir hostPath: path: /var/lib/csi/sockets/pluginproxy/csi-resizer type: DirectoryOrCreate
| 参数名 | 描述 | 默认值 |
|---|---|---|
--v | 日志级别(0-10,数值越大越详细) | 0 |
--csi-address | CSI驱动Unix域套接字路径 | /var/lib/csi/sockets/pluginproxy/csi.sock |
--driver-name | CSI驱动名称(需与驱动driver.name一致) | 无(必填项) |
--kubeconfig | kubeconfig文件路径(集群外运行时使用,集群内通过SA自动授权) | 空 |
--leader-election | 是否启用Leader Election机制 | true |
--leader-election-lease-duration | Leader锁租期(秒) | 15 |
--metrics-addr | 指标暴露地址(格式:port) | :8080 |
--timeout | CSI驱动请求超时时间(秒) | 30秒 |
支持通过环境变量配置(优先级低于命令行参数):
| 环境变量名 | 描述 | 对应命令行参数 |
|---|---|---|
CSI_ADDRESS | CSI驱动套接字路径 | --csi-address |
DRIVER_NAME | CSI驱动名称 | --driver-name |
KUBECONFIG | kubeconfig文件路径 | --kubeconfig |
LOG_LEVEL | 日志级别 | --v |
METRICS_ADDR | 指标暴露地址 | --metrics-addr |
运行CSI Resizer的ServiceAccount需具备以下权限(最小权限原则):
yamlapiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: csi-resizer-role rules: - apiGroups: [""] resources: ["persistentvolumes"] verbs: ["get", "list", "watch", "update", "patch"] - apiGroups: [""] resources: ["persistentvolumeclaims"] verbs: ["get", "list", "watch", "update"] - apiGroups: [""] resources: ["events"] verbs: ["create", "update", "patch"] - apiGroups: ["storage.k8s.io"] resources: ["csinodes"] verbs: ["get", "list", "watch"] - apiGroups: ["storage.k8s.io"] resources: ["storageclasses"] verbs: ["get", "list", "watch"]
ControllerExpandVolume接口(节点侧扩容需NodeExpandVolume)VolumePVCResize特性门控allowVolumeExpansion: true




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