Ошибка сервера (NotFound): podmetrics.metrics.k8s.io "mem-example/memory-demo" не найден

Я следую этому руководству: https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/

Я создал демонстрационную версию модуля памяти и пытаюсь получить показатели из модуля, но он не работает.

Я установил сервер метрик путем клонирования: https://github.com/kubernetes-incubator/metrics-server

И затем запустить эту команду с верхнего уровня:

kubectl create -f deploy/1.8+/

Я использую kubernetes версии 1.10.11.

Стручок определенно создан:

λ kubectl get pod memory-demo --namespace=mem-example
NAME          READY     STATUS    RESTARTS   AGE
memory-demo   1/1       Running   0          6m

Но команда metics не работает и выдает ошибку:

λ kubectl top pod memory-demo --namespace=mem-example
Error from server (NotFound): podmetrics.metrics.k8s.io "mem-example/memory-demo" not found

Что я сделал не так?

1 ответ

Есть несколько исправлений, которые нужно сделать для развертывания сервера метрик, чтобы метрики работали.

Выполните следующие шаги

kubectl delete -f deploy/1.8+/

wait till the metrics server gets undeployed

run the below command
kubectl create -f https://raw.githubusercontent.com/epasham/docker-repo/master/k8s/metrics-server.yaml
master $ kubectl get po -n kube-system
NAME                              READY     STATUS    RESTARTS   AGE
coredns-78fcdf6894-6zg78          1/1       Running   0          2h
coredns-78fcdf6894-gk4sb          1/1       Running   0          2h
etcd-master                       1/1       Running   0          2h
kube-apiserver-master             1/1       Running   0          2h
kube-controller-manager-master    1/1       Running   0          2h
kube-proxy-f5z9p                  1/1       Running   0          2h
kube-proxy-ghbvn                  1/1       Running   0          2h
kube-scheduler-master             1/1       Running   0          2h
metrics-server-85c54d44c8-rmvxh   2/2       Running   0          1m
weave-net-4j7cl                   2/2       Running   1          2h
weave-net-82fzn                   2/2       Running   1          2h
master $ kubectl top pod -n kube-system
NAME                              CPU(cores)   MEMORY(bytes)
coredns-78fcdf6894-6zg78          2m           11Mi
coredns-78fcdf6894-gk4sb          2m           9Mi
etcd-master                       14m          90Mi
kube-apiserver-master             24m          425Mi
kube-controller-manager-master    26m          62Mi
kube-proxy-f5z9p                  2m           19Mi
kube-proxy-ghbvn                  3m           17Mi
kube-scheduler-master             8m           14Mi
metrics-server-85c54d44c8-rmvxh   1m           19Mi
weave-net-4j7cl                   2m           59Mi
weave-net-82fzn                   1m           60Mi

Проверьте и проверьте приведенные ниже строки в манифесте развертывания сервера метрик.

        command:
        - /metrics-server
        - --metric-resolution=30s
        - --kubelet-preferred-address-types=InternalIP
        - --kubelet-insecure-tls

На Minikube мне пришлось ждать 20-25 минут после включения аддона metrics-server. Я получал ту же ошибку в течение 20-25 минут, но позже я смог увидеть результат, не пытаясь найти какое-либо решение.

Я знаю, что это старая ветка, возможно, кто-то найдет этот ответ полезным.

  1. Вы должны проверить следующее репо:

    https://github.com/kubernetes-incubator/metrics-server

    Заходим в корень репо и оформляем релиз-0.3.2.

  2. Удалить сервер метрик по умолчанию:

    kubectl delete -f deploy/1.8+/
    
  3. Скачать контейнер yaml

    wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
    
  4. Отредактируйте container.yamlдобавив следующие строки в раздел аргументов. Вы увидите эти две строки там

    args:
          - --kubelet-preferred-address-types=InternalIP
          - --kubelet-insecure-tls=true
    

    В этом файле есть только один параметр args.

Разверните свой модуль / развертывание, и вы должны уметь:

kubectl top pod <pod-name>

Я столкнулся с аналогичной проблемой

Ошибка сервера (NotFound): podmetrics.metrics.k8s.io "default/apple-app" не найден

Я выполнил два шага и смог решить проблему.

  1. Загрузите последний настроенный файл components.yaml, официальный файл, используемый для упрощения развертывания.

  2. Обновите изменение

          # - /metrics-server
          - --kubelet-insecure-tls
          - --kubelet-preferred-address-types=InternalIP

в раздел команд спецификации развертывания. Я прокомментировал первую строку, потому что это точка входа в изображение, используемое kubernetes metrics-server.

$ docker image inspect k8s.gcr.io/metrics-server-amd64:v0.3.6 -f {{.ContainerConfig.Entrypoint}}
[/metrics-server]

Даже если вы используете это или нет, это не имеет значения.

Примечание: вам нужно подождать несколько секунд, чтобы он заработал правильно.

После этого запускается верхняя команда.

$ kubectl top pod apple-app
NAME        CPU(cores)   MEMORY(bytes)   
apple-app   1m           3Mi             
Другие вопросы по тегам