k8s-metrics-server
一:拉取镜像
直接从阿里云的镜像仓库拉取,国外的镜像仓库比较慢。。。。
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.7.2
打包镜像,之后传到k8s的服务器上面
docker save -o metrics-server.tar registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.7.2
二:k8s集群导入镜像
ctr -n k8s.io image import metrics-server.tar
如果有镜像仓库的话也可以打个标签直接推送到镜像仓库。
三:部署metrics-server
V0.7.2的yaml文件网址:
https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.7.2/components.yaml
把镜像换成我们从阿里云拉取下来的镜像名称
再修改
在args中添加- --kubelet-insecure-tls 来禁用证书验证。
大家如果有证书的话,以下是一个示例:
args:
- --kubelet-port=10250
- --kubelet-https-port=10255
- --kubelet-client-certificate=/var/run/secrets/kubernetes.io/service-account-token/tls.crt
- --kubelet-client-key=/var/run/secrets/kubernetes.io/service-account/tls.key
- --kube-api-server=https://<kubernetes-api-server>:6443
<kubernetes-api-server>
为您的 Kubernetes API 服务器地址。
:wq保存退出
kubectl apply -f components.yaml
kubectl get pod -n kube-system
可以看到等待了大约30s的时间已经创建成功了。
四:验证
kubectl top pod -A
kubectl top node
也可以对cpu和memory单独排序
kubectl top pod -A --sort-by=cpu 对cpu单独排序
kubectl top pod -A --sort-by=memory 对内存单独排序
#命令中的 -A的意思是所有命名空间下的pod