4
votes

Erreur du serveur (NotFound): podmetrics.metrics.k8s.io "mem-example / memory-demo" introuvable

Je suis ce tutoriel: https: // kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/

J'ai créé la démo du pod de mémoire et j'essaye d'obtenir les métriques du pod mais cela ne fonctionne pas .

J'ai installé le serveur de métriques par clonage: https: // github. com / kubernetes-incubator / metrics-server

Et puis exécutez cette commande à partir du niveau supérieur:

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

J'utilise kubernetes version 1.10 .11.

Le pod est définitivement créé:

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

Mais la commande metics ne fonctionne pas et donne une erreur:

kubectl create -f deploy/1.8+/

Qu'est-ce que j'ai fait de mal?


0 commentaires

4 Réponses :


4
votes

Il y a quelques correctifs à apporter au déploiement du serveur de métriques pour que les métriques fonctionnent.

Suivez les étapes ci-dessous

        command:
        - /metrics-server
        - --metric-resolution=30s
        - --kubelet-preferred-address-types=InternalIP
        - --kubelet-insecure-tls
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
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

Vérifiez et vérifiez les lignes ci-dessous dans le manifeste de déploiement du serveur de métriques.

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


3 commentaires

Cela ne ressemble pas à un repo officiel. Je me méfie d'installer du code aléatoire. Avez-vous une référence aux patchs dont vous parlez?


Il a été tiré du rapport officiel et des correctifs ont été ajoutés en plus de cela


a mis à jour les modifications que vous devez appliquer au serveur de métriques. vérifiez ma réponse ci-dessus



0
votes

J'ai rencontré le même problème de

Erreur du serveur (NotFound): podmetrics.metrics.k8s.io "default / apple-app" introuvable

J'ai suivi deux étapes et j'ai pu résoudre le problème.

  1. Téléchargez le dernier personnalisé components.yaml , qui est leur fichier officiel utilisé pour un déploiement facile.

  2. Mettre à jour la modification

$ kubectl top pod apple-app
NAME        CPU(cores)   MEMORY(bytes)   
apple-app   1m           3Mi             

à la section de commande de la spécification de déploiement. J'ai commenté la première ligne car c'est le point d'entrée de l'image utilisée par kubernetes metrics-server.

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

Même si vous l'utilisez ou non, cela n'a pas d'importance.

Remarque: Vous devez attendre quelques secondes pour que cela fonctionne correctement.

Après cette exécution, la commande top fonctionnera pour vous. p >

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


0 commentaires

1
votes

Je sais que c'est un vieux fil de discussion, quelqu'un trouvera peut-être cette réponse utile.

  1. Vous devez payer le dépôt suivant:

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

    Accédez à la racine du dépôt et vérifiez la version 0.3.2.

  2. Supprimez le serveur de métriques par défaut en:

    kubectl top pod <pod-name>
    
  3. Téléchargez le conteneur yaml

    args:
          - --kubelet-preferred-address-types=InternalIP
          - --kubelet-insecure-tls=true
    
  4. Modifiez le container.yaml en ajoutant les lignes suivantes à la section d'arguments. Vous verrez ces deux lignes là-bas

    wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
    

    Il n'y a qu'un seul paramètre args dans ce fichier.

Déployez votre pod / déploiement et vous devriez pouvoir faire:

kubectl delete -f deploy/1.8+/


0 commentaires

0
votes

Sur Minikube, j'ai dû attendre 20-25 minutes après avoir activé l'addon metrics-server. J'obtenais la même erreur pendant 20 à 25 minutes, mais plus tard, je pouvais voir le résultat sans essayer de solution.


0 commentaires