环境
win10系统,开启了WSL2
docker for windows,开启了WSL集成
minikube for windows
kubectl for windows
缘由
kubectl top po
查看pod的资源使用情况时报错:
error: Metrics not available for pod
解决方案
在metrics-server的启动参数里添加以下两个命令:
--kubelet-insecure-tls
--kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
但是 minikube addons enable metrics-server
启动的metrics-server版本是v0.2.1
,这个版本没有上述两个启动命令。所以我们选择手动部署metrics-server。
先关闭minikube的metrics-server:
minikube addons disable metrics-server
下载metrics-server官方提供的yaml配置:
wget https://github/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
修改配置文件的image为国内源,否则拉取不到镜像:
将配置文件里的:
image: k8s.gcr.io/metrics-server-amd64:v0.3.6
修改为:
image: registry-hangzhou.aliyuncs/google_containers/metrics-server-amd64:v0.3.6
接着加入metrics-server的启动args:
args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
再运行:
kubectl apply -f components.yaml
启动成功后就可以看到pods的资源使用情况啦~~~
kubectl top po -n kube-system
# outputs:
NAME CPU(cores) MEMORY(bytes)
coredns-6c76c8bb89-2gdql 4m 12Mi
etcd-minikube 25m 32Mi
kube-apiserver-minikube 67m 291Mi
kube-controller-manager-minikube 21m 46Mi
kube-proxy-mwvbk 8m 19Mi
kube-scheduler-minikube 3m 19Mi
metrics-server-666566b66d-kzdc4 1m 13Mi
storage-provisioner 2m 14Mi
kubectl top po -n default
# outputs:
NAME CPU(cores) MEMORY(bytes)
nginx-6586c878b5-2pmdx 1m 3Mi
nginx-6586c878b5-7kf5s 1m 3Mi
备注:貌似运行一段时间后,kubectl top po -n default
又会失败。。
更多推荐
error: Metrics not available for pod 解决方案
发布评论