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?
4 Réponses :
Il y a quelques correctifs à apporter au déploiement du serveur de métriques pour que les métriques fonctionnent.
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
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
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.
Téléchargez le dernier personnalisé components.yaml , qui est leur fichier officiel utilisé pour un déploiement facile.
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
Je sais que c'est un vieux fil de discussion, quelqu'un trouvera peut-être cette réponse utile.
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.
Supprimez le serveur de métriques par défaut en:
kubectl top pod <pod-name>
Téléchargez le conteneur yaml
args:
- --kubelet-preferred-address-types=InternalIP
- --kubelet-insecure-tls=true
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+/
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.