gke-resource-quotas应用于具有10个以上节点的集群

时间:2019-11-05 17:02:19

标签: google-cloud-platform google-kubernetes-engine

关于resource quotas的GKE文档指出,这些硬限制仅适用于节点数少于或等于10的群集。

即使我们有10个以上的节点,此配额也已创建,无法删除

这是GKE方面的漏洞还是故意的,并且文档无效?

2 个答案:

答案 0 :(得分:1)

我今天使用GKE遇到了一个非常奇怪的错误。我们托管的gitlab-runner停止运行新作业,消息为:

pods "xxxx" is forbidden: exceeded quota: gke-resource-quotas, requested: pods=1, used: pods=1500, limited: pods=1500

因此配额资源是不可编辑的(如文档所述)。但是问题是,只有5个Pod在运行,而不是1500个。因此,这可能是kubernetes错误,无法确定其计算节点数的方式。 升级控制平面和节点后,错误并没有消失,我也不知道如何重置节点计数器。

对我有用的是简单地删除此资源配额。甚至被允许耸耸肩感到惊讶。

kubectl delete resourcequota gke-resource-quotas -n gitlab-runner

此后,重新创建了相同的资源配额,并且Pod能够再次运行。

答案 1 :(得分:0)

“ gke-resource-quotas”可以防止控制平面被集群中部署的应用程序意外超载,从而导致创建过多的kubernetes资源。 GKE会在集群的每个命名空间中自动安装一个名为“ gke-resource-quotas”的开源kubernetes ResourceQuota对象。您可以使用此命令[kubectl get resourcequota gke-resource-quotas -o yaml -n kube-system]获得有关该对象的更多信息。

当前,GKE资源配额包括四个kubernetes资源,pod,服务,作业和入口的数量。它们的限制是根据群集大小和其他因素计算的。 GKE资源配额是不可变的,无法通过API或kubectl对其进行更改。资源名称“ gke-resource-quotas”是保留的,如果您创建具有相同名称的ResourceQuota,它将被覆盖。