1、准备镜像
首先需要做的就是有一套k8s的环境,其次是服务器可以连接到外网,不然拉不到metrics-server的镜像!!!
-
连不到外网,拉不到镜像的看这里:
docker pull registry.cn-hangzhou.aliyuncs.com/zailushang/metrics-server:v0.6.0
这个是Google到的个人博主分享的阿里云的镜像地址,不过目前只找到了0.6.0版本,其他版本的暂时没找到
-
还有一点就是版本问题,k8s版本和metrics-server版本的对照表如下(取自官方文档)
GitHub地址:https://github.com/kubernetes-sigs/metrics-server
2、创建资源
准备metrics-server的yaml文件,也是需要服务器可以连外网的(yaml版本需要和镜像版本一致)
执行 kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.0/components.yaml
-
连不到外网的话,就自己用浏览器访问上面的网页或者去GItHub下载
-
建议自己下载yaml,直接执行apply有几个坑,下载到的yaml文件的内容需要修改一下,直接执行可能会报错。
-
添加这个配置:- --kubelet-insecure-tls
-
修改镜像名称:最终在服务器的docker或者harbor中的镜像是什么名字,记得改成一致的,这个最容易被忘掉,但也不影响,k8s创建pod拉不到镜像时,看报错也能知道是什么原因。
-
将下图的4443替换为10250(至于为什么改成10250,我也不太懂,反正没改之前启动pod是报错)
-
Service资源中的443不能改!!!
我自己改过,完事用kubectl top时报错了,报错信息在下面,改回来后就好了,估计是k8s的top命令监听的就是443端口,改了之后它找不到就说没有监控数据。Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io)
-
3、开始操作
-
kubectl top命令的使用
- 格式:kubectl top [flags] [options]
- node节点:kubectl top node [NodeName]
- pod:kubectl top pod -n [Namespace] [PodName]
- 演示:
- k8s的图形化界面中还会出现一个监控指标,更加方便观察
4、鸡汤送上
既然选择了远方,便为自己撑起一把伞,只顾风雨兼程。
最后说明:
创作不易,若转载请标明出处或原文链接!!!