gcloud
在节点扩展期间,HPA无法获取CPU指标。
同时,kubectl top pod
和kubectl top node
的输出为:
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get pods.metrics.k8s.io)
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io)
有关更多详细信息,我将向您展示问题的发生流程:
Insufficient CPU
警告,因此GKE尝试将节点放大
kubectl top node
或kubectl top pod
没有得到回应。
-目前找到一个或多个OutOfcpu
吊舱,并且其中有多个吊舱ContainerCreating
(来自Pending
状态)。这会导致吊舱缩放停止,并在响应客户的请求时引发一些故障。这正常吗?
我认为,即使在节点扩展期间,HPA也应该在运行的Pod上获取CPU指标(或其他指标),以跟踪当前的最佳Pod大小。因此,当节点扩展完成后,HPA会立即创建必要的Pod(而不是增量创建)。
我可以使集群像这样工作吗?
答案 0 :(得分:0)
也许您的节点用尽了一个资源(无论是内存还是CPU),都有一些配置映射图描述了如何根据集群大小扩展插件。您需要在 kube-system 名称空间中编辑 metrics-server-config 配置映射:
kubectl edit cm/metrics-server-config -n kube-system
您应该添加
baseCPU
cpuPerNode
baseMemory
memoryPerNode
对于NannyConfiguration,here,您可以找到广泛的手册:
同样,heapster也遭受着同样的OOM问题:太多的Pod无法处理分配的资源中的所有指标,请相应地修改heapster的配置映射:
kubectl edit cm/heapster-config -n kube-system