現象:
[root@k8s-master1]:~/yaml/k8s# kubectl top pod nfs-provisioner-7cb5bf8868-rnglp
Error from server (NotFound): podmetrics.metrics.k8s.io "default/nfs-provisioner-7cb5bf8868-rnglp" not found
[root@k8s-master1]:~/yaml/k8s# kubectl logs -f -n kube-system metrics-server-cbd456c66-plvbj
I0530 08:13:37.616336 1 serving.go:312] Generated self-signed cert (/tmp/apiserver.crt, /tmp/apiserver.key)
I0530 08:13:39.000688 1 secure_serving.go:116] Serving securely on [::]:4443
E0530 08:13:46.742550 1 reststorage.go:160] unable to fetch pod metrics for pod default/nfs-provisioner-7cb5bf8868-rnglp: no metrics known for pod
# vim metrics.yaml
....
containers:
- name: metrics-server
image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.6
imagePullPolicy: IfNotPresent
args:
- --cert-dir=/tmp
- --secure-port=4443 # 這邊的port要改成自己的
- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
- --kubelet-insecure-tls=true
- --authorization-always-allow-paths=/livez,/readyz
- --metric-resolution=15s
ports:
- name: main-port
containerPort: 4443
protocol: TCP
....
# kubectl apply -f metrics.yaml
# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-97769f7c7-dgc5q 1/1 Running 1 145d
calico-node-gxtq4 1/1 Running 1 145d
calico-node-h6bk9 1/1 Running 1 145d
calico-node-p6knc 1/1 Running 2 145d
coredns-58d8cd457b-kvkz4 1/1 Running 2 145d
metrics-server-cbd456c66-lq8ns 1/1 Running 0 6s
# kubectl top pod nfs-provisioner-7cb5bf8868-rnglp
NAME CPU(cores) MEMORY(bytes)
nfs-provisioner-7cb5bf8868-rnglp 1m 8Mi