Docker Kubernetes (Mac) - Autoscaler не может найти метрики - PullRequest
0 голосов
/ 09 января 2019

Я установил локальный экземпляр Kubernetes через Docker на моем Mac.

После пошагового руководства по активации автоматического масштабирования в развертывании возникла проблема. Автоскалер не может прочитать метрики.

Когда я запускаю kubectl describe hpa текущее использование процессора возвращается как unknown / 50% с предупреждениями:

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

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

Я установил metrics-сервер через git clone https://github.com/kubernetes-incubator/metrics-server.git и установил его с kubectl create -f deploy/1.8+

Ответы [ 3 ]

0 голосов
/ 12 июня 2019

Для тех, кто использует Internal-IP здесь может работать для вас. Следуйте @ Mr.Turtle выше на шаге 4. добавьте еще одну команду.

  containers:
  - name: metrics-server
    image: k8s.gcr.io/metrics-server-amd64:v0.3.3
    command:
      - /metrics-server
      - --kubelet-insecure-tls
      - --kubelet-preferred-address-types=InternalIP
0 голосов
/ 22 июля 2019

Мы обновились до AWS EKS версии 1.13.7, и именно тогда у нас начались проблемы с HPA. Оказалось, что при моем развертывании мне пришлось указать значение resources.requests.cpu=200m, и HPA начал работать для меня.

0 голосов
/ 09 января 2019

Я наконец получил это работает .. Вот полные шаги, которые я предпринял, чтобы все заработало:

  1. Запустите Kubernetes в Docker

  2. Удалите любой предыдущий экземпляр сервера метрик из вашего экземпляра Kubernetes с помощью kubectl delete -n kube-system deployments.apps metrics-server

  3. Клон метрики-сервера с git clone https://github.com/kubernetes-incubator/metrics-server.git

  4. Отредактируйте файл deploy / 1.8 + / metrics-server-deploy.yaml , чтобы переопределить команду по умолчанию, добавив раздел command , который ранее не существовал. Новый раздел проинструктирует сервер метрик разрешить небезопасный сеанс связи (не проверяйте соответствующие сертификаты). Делайте это только для Docker, а не для производственных развертываний metrics-server:

    containers:
    - name: metrics-server
        image: k8s.gcr.io/metrics-server-amd64:v0.3.1
        command:
          - /metrics-server
          - --kubelet-insecure-tls
    
  5. Добавьте сервер метрик к вашему экземпляру Kubernetes с помощью kubectl create -f deploy/1.8+ (если ошибки с .yaml, напишите это вместо: kubectl apply -f deploy/1.8+)

  6. Удалите и снова добавьте автоскалер в ваше развертывание. Теперь должно отображаться текущее использование процессора.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...