You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何无法删除GKE 1.24集群的standard-rwo存储类及修改reclaimPolicy?

解决GKE 1.24集群中standard-rwo存储类reclaimPolicy无法修改的问题

在GKE 1.24及更高版本中,standard-rwo存储类由GCP Compute Persistent Disk CSI驱动插件自动管理,删除后会立即重建,无法沿用1.23集群的删除重建方式修改reclaimPolicy。可以通过以下两种方式解决:

方式一:修改CSI驱动管理的默认存储类参数

直接通过gcloud命令更新集群的CSI驱动配置,指定新的回收策略:

  1. 执行命令更新集群插件配置,替换CLUSTER_NAME和ZONE为你的集群信息,Retain可替换为你需要的回收策略(可选Delete):
    gcloud container clusters update CLUSTER_NAME --zone ZONE --update-addon=GCP_COMPUTE_PERSISTENT_DISK_CSI_DRIVER=ENABLED --storage-class-config=name=standard-rwo,reclaimPolicy=Retain
    
  2. 验证修改结果:
    kubectl describe storageclass standard-rwo | grep ReclaimPolicy
    

方式二:创建自定义存储类替代默认类

如果不想改动默认的standard-rwo,可以基于它的配置创建新存储类并修改回收策略:

  1. 导出原存储类配置:
    kubectl get storageclass standard-rwo -o yaml > custom-sc.yaml
    
  2. 编辑custom-sc.yaml:
    • 修改metadata.name为新存储类名称(比如standard-rwo-retain)
    • 删除metadata下的uid、resourceVersion、ownerReferences等自动生成字段
    • 将reclaimPolicy字段修改为目标值(Retain或Delete)
  3. 应用新存储类:
    kubectl apply -f custom-sc.yaml
    
  4. (可选)将新存储类设为默认:
    # 标记新类为默认
    kubectl annotate storageclass standard-rwo-retain storageclass.kubernetes.io/is-default-class="true"
    # 取消原默认类的标记
    kubectl annotate storageclass standard-rwo storageclass.kubernetes.io/is-default-class-
    

为什么1.24集群删除后会自动重建?

从GKE 1.23后期版本开始,默认启用的Compute Persistent Disk CSI驱动插件会自动维护默认存储类,当检测到standard-rwo被删除时,插件会自动重新创建该类,因此无法通过删除重建的方式修改配置。

内容的提问来源于stack exchange,提问作者mbxzxz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 13:45:29