Включение горизонтального автомоделирования Pod на Kubernetes v1.9.10 через kops - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть кластер Kubernetes на AWS, который был запущен с Kops.Я думаю, что изначально запускался как v1.7.0, но с тех пор обновился до v1.9.10.

Все работает нормально, кроме автоматического масштабирования горизонтального модуля.

Ошибка переключилась между следующими 2, в зависимости откакую конфигурацию я установил.

"невозможно получить метрики для процессора ресурсов: нет метрик, возвращаемых из heapster"

"невозможно получить метрики для процессора ресурсов: невозможно получить метрики изAPI: серверу не удалось найти запрошенный ресурс (get pods.metrics.k8s.io) "

Мне известно, что в более ранних версиях по умолчанию использовался heapster, а в более новых версиях используется API метрик.

Я попытался установить метрики и кучу как самостоятельно, так и вместе.С установленным heapster я вижу дополнительные графики на приборной панели, поэтому, похоже, все работает нормально.

spec:
  kubeControllerManager:
    horizontalPodAutoscalerUseRestClients: true

В большинстве обсуждений по этой проблеме выше приведен этот конфигурационный файл, в котором использовались как true, так и false во всех комбинациях heapster.vs metrics setup.

kube-controller-manager 1.8. * имеет --horizontal-pod-autoscaler-use-rest-клиентов не установлен по умолчанию, в то время как 1.9. * имеет значение true по умолчанию.Поэтому мой путь обновления предполагает, что это вполне может быть связано.

Попробовал множество других предложений от SO и Google, но не могу вспомнить их все.

Ниже приведен YAML от HPA,не уверен, какие другие выходные данные будут полезны в диагностике этой проблемы, но при необходимости обновятся с дополнительными.

{
  "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
  }
}
...