安装Tekton后GKE Autopilot集群触发SSD持久盘配额超限
GKE Autopilot集群安装Tekton后触发SSD配额超限但无可见磁盘的问题分析
问题描述
我创建了名为tekton-cluster的默认GKE Autopilot集群,执行以下命令配置Tekton:
# Install tekton pipelines and tasks kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml # Install tekton operators for tekton config kubectl apply -f https://storage.googleapis.com/tekton-releases/operator/latest/release.yaml # Install Tekton dashboard kubectl apply --filename https://storage.googleapis.com/tekton-releases/dashboard/latest/release.yaml # View Tekton dashboard kubectl proxy # Install pipelines-as-code on Kubernetes kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/stable/release.k8s.yaml
集群未安装或运行其他内容,本地Kind集群部署相同内容可正常运行。但在GKE上,安装完成后立即触发500GB的Persistent Disk SSD (GB)配额限制。执行gcloud compute disks list --project=my-tekton-gcp-proj-12345返回:
Listed 0 items.
当前集群无运行内容且无已配置SSD磁盘,配额超限状态已持续2天,请问为何显示占用500GB SSD持久盘存储?
可能的原因及排查步骤
1. GKE Autopilot节点本地SSD的隐式占用
GKE Autopilot会自动管理节点配置,部分节点池可能默认启用本地SSD(这类存储属于节点实例的附属资源,不会通过gcloud compute disks list显示为独立持久磁盘)。Tekton组件安装后可能触发集群自动扩容,多个节点的本地SSD容量累加后触发配额限制。
- 排查命令:
查看输出中节点池的gcloud container clusters describe tekton-cluster --project=my-tekton-gcp-proj-12345config.localSsdCount字段确认是否启用本地SSD,结合status.nodePools[].currentNodeCount计算总SSD占用量(单节点本地SSD通常为375GB规格)。
2. 已删除磁盘的配额更新延迟
GCP配额系统存在一定延迟,即使磁盘已被删除,配额占用记录可能未及时同步。若超限持续2天,此概率较低,但仍可排查:
- 排查命令:
同时进入GCP控制台IAM与管理员 > 配额页面,查看gcloud compute disks list --filter="status=DELETING" --project=my-tekton-gcp-proj-12345Persistent Disk SSD (GB)的配额使用详情,确认是否存在已删除资源的残留占用记录。
3. Tekton组件触发的存储类配额预留
Tekton Pipelines或Pipelines-as-Code可能默认使用绑定SSD的存储类(如premium-rwo),即使未创建实际PVC,部分组件的初始化逻辑可能触发存储类的配额预留,导致配额被预占。
- 排查命令:
确认默认存储类的参数是否指向SSD,以及是否存在未完成创建的PVC占用配额。# 查看集群存储类配置 kubectl get storageclasses # 检查所有命名空间下的PVC(包括Pending状态) kubectl get pvc --all-namespaces
4. 项目内其他资源的跨集群配额占用
项目级SSD配额是所有资源共享的,需确认是否有其他GKE集群、Compute Engine实例使用了SSD磁盘,这些资源可能不在当前tekton-cluster范围内,但占用了总配额。
- 排查命令:
# 查看所有Compute Engine实例的磁盘配置 gcloud compute instances list --project=my-tekton-gcp-proj-12345 # 查看项目内所有GKE集群的节点池配置 gcloud container clusters list --project=my-tekton-gcp-proj-12345 --format="value(name, nodePools.config.localSsdCount)"
内容的提问来源于stack exchange,提问作者Brian K
相关产品推荐
相关产品推荐

