通过kops在Kubernetes v1.9.10上启用水平Pod自动缩放

时间:2018-12-24 05:01:52

标签: kubernetes autoscaling kops

我在AWS上有一个Kubernetes集群,它是由Kops启动的。 我认为最初是从v1.7.0开始的,但从那时起已更新为v1.9.10。

除水平吊舱自动缩放功能不起作用外,其他所有程序运行正常。

根据我设置的配置,错误已在以下两个之间切换。

  

“无法获取资源cpu的度量标准:没有从heapster返回的度量标准”

     

“无法获取资源cpu的度量:无法从API获取度量:服务器找不到请求的资源(获取pods.metrics.k8s.io)”

我知道较早的版本默认使用heapster,而较新的版本则使用指标API。

我尝试过单独安装度量标准和堆积器。安装了heapster后,我会在仪表板上看到额外的图形,因此看起来工作正常。

spec:
  kubeControllerManager:
    horizontalPodAutoscalerUseRestClients: true

关于此问题的大多数讨论都提到了上面的配置,该配置在所有的sterpster vs指标设置组合中都尝试过对与错。

kube-controller-manager 1.8。*的--horizo​​ntal-pod-autoscaler-use-rest-clients默认未设置,而1.9。*的默认设置为true。 因此,我的升级路径表明这很可能是相关的。

尝试了SO和google的其他建议,但无法将其全部撤回。

下面是HPA的YAML,不确定是否有其他输出可以帮助诊断此问题,但在需要时会进行其他更新。

{
  "kind": "HorizontalPodAutoscaler",
  "apiVersion": "autoscaling/v1",
  "metadata": {
    "name": "myappname-mobile-deployment",
    "namespace": "myappname",
    "selfLink": "/apis/autoscaling/v1/namespaces/myappname/horizontalpodautoscalers/myappname-mobile-deployment",
    "uid": "a8cd45d0-02a4-11e9-9660-12306a211636",
    "resourceVersion": "53939792",
    "creationTimestamp": "2018-12-18T09:09:44Z",
    "annotations": {
      "autoscaling.alpha.kubernetes.io/conditions": "[{\"type\":\"AbleToScale\",\"status\":\"True\",\"lastTransitionTime\":\"2018-12-18T09:10:14Z\",\"reason\":\"SucceededGetScale\",\"message\":\"the HPA controller was able to get the target's current scale\"},{\"type\":\"ScalingActive\",\"status\":\"False\",\"lastTransitionTime\":\"2018-12-18T09:10:14Z\",\"reason\":\"FailedGetResourceMetric\",\"message\":\"the HPA was unable to compute the replica count: unable to get metrics for resource cpu: no metrics returned from heapster\"}]"
    }
  },
  "spec": {
    "scaleTargetRef": {
      "kind": "Deployment",
      "name": "myappname-mobile-deployment",
      "apiVersion": "extensions/v1beta1"
    },
    "minReplicas": 1,
    "maxReplicas": 5,
    "targetCPUUtilizationPercentage": 30
  },
  "status": {
    "currentReplicas": 1,
    "desiredReplicas": 0
  }
}

0 个答案:

没有答案