
dyrnq/csi-resizercsi-resizer 是 Kubernetes 容器存储接口 (CSI) 的辅助组件,用于支持 CSI 驱动的持久卷 (PVC) 动态扩容功能。该组件监听 Kubernetes 集群中持久卷声明 (PVC) 的扩容请求,并与 CSI 驱动交互以执行实际的卷大小调整操作,实现存储资源的弹性伸缩。
csi-resizer 通常作为 Deployment 在 Kubernetes 集群中运行,与 CSI 驱动组件协同工作:
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: containers: - name: csi-resizer image: k8s.gcr.io/sig-storage/csi-resizer:v1.7.0 args: - --v=5 - --csi-address=/csi/csi.sock - --leader-election=true volumeMounts: - name: socket-dir mountPath: /csi volumes: - name: socket-dir hostPath: path: /var/lib/kubelet/plugins/<csi-driver-name> type: DirectoryOrCreate
| 参数名 | 描述 | 示例值 |
|---|---|---|
--csi-address | CSI 驱动套接字文件路径 | /csi/csi.sock |
--kubeconfig | Kubernetes 配置文件路径(外部集群使用) | /etc/kubernetes/config |
--leader-election | 是否启用 leader 选举 | true |
--leader-election-namespace | leader 选举命名空间 | kube-system |
--leader-election-lease-duration | leader 选举租约持续时间 | 15s |
--leader-election-renew-deadline | leader 选举续约截止时间 | 10s |
--leader-election-retry-period | leader 选举重试周期 | 2s |
--retry-interval-start | 初始重试间隔时间 | 500ms |
--retry-interval-max | 最大重试间隔时间 | 30s |
--timeout | 与 CSI 驱动通信的超时时间 | 30s |
--v | 日志详细程度(0-5) | 5 |
虽然 csi-resizer 通常在 Kubernetes 集群内部署,也可通过 Docker 直接运行(主要用于测试):
bashdocker run --name csi-resizer k8s.gcr.io/sig-storage/csi-resizer:v1.7.0 \ --v=5 \ --csi-address=/csi/csi.sock \ --kubeconfig=/etc/kubernetes/admin.conf \ --leader-election=false
| 环境变量 | 描述 | 默认值 |
|---|---|---|
CSI_ENDPOINT | CSI 驱动端点地址 | unix:///csi/csi.sock |
KUBE_CONFIG_PATH | Kubernetes 配置文件路径 | /var/run/secrets/kubernetes.io/serviceaccount/kubeconfig |
csi-resizer 需要以下 RBAC 权限才能正常工作:
yamlapiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: csi-resizer-role rules: - apiGroups: [""] resources: ["persistentvolumeclaims"] verbs: ["get", "list", "watch", "update"] - apiGroups: [""] resources: ["persistentvolumes"] verbs: ["get", "list", "watch", "update"] - apiGroups: ["storage.k8s.io"] resources: ["storageclasses"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["events"] verbs: ["list", "watch", "create", "update", "patch"] - apiGroups: ["coordination.k8s.io"] resources: ["leases"] verbs: ["get", "create", "update"]
卷扩容失败:
无法启动:
日志查看:
bashkubectl logs -n kube-system deployment/csi-resizer -f
| csi-resizer 版本 | 支持的 Kubernetes 版本 | 支持的 CSI 规范版本 |
|---|---|---|
| v1.7.x | v1.20+ | CSI 1.5+ |
| v1.6.x | v1.19+ | CSI 1.4+ |
| v1.5.x | v1.18+ | CSI 1.3+ |



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