kubernetes 部署 metrics-server
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
关于 metrics-server
原有的 kubernetes 容器监控服务 heapster,从 kubernetes 1.11 版本开始逐渐退休,如下图所示,红框中显示新的监控服务即 metrics-server :
metrics-server 的 github 地址:https://github.com/kubernetes-sigs/metrics-server
实战环境信息
本次实战环境由三台 CensOS7 服务器组成,已部署了 kubernetes 1.15 版本;
即将部署的 metrics-server 版本为 v0.3.6,与 kubernetes 版本的匹配关系如下:
接下来开始部署;
下载 metrics-server
ssh 登录 kubernetes 机器;
从 GitHub 下载 metrics-server 的发布包:
解压下载的文件:
得到名为 metrics-server-0.3.6 的文件夹,下载工作完成;
解决问题
接下来还不能立即部署服务,有两个问题要先解决:
metrics-server 默认使用的是 hostname,但是 coredns 中并没有三台物理机器的 hostname 和 IP 地址的关系,需要改为使用主机 IP 地址;
验证客户端证书的问题,需要改为不验证;
上述问题通过以下步骤解决:
进入目录 metrics-server-0.3.6/deploy/1.8+/ :
打开文件 metrics-server-deployment.yaml ,新增一些内容,如下图,红框中为新增的内容:
部署 metrics-server
还是在目录 metrics-server-0.3.6/deploy/1.8+/ ,执行命令 kubectl apply -f ./
控制台提示多种资源被创建,如下图:
等待 metrics-server 的 pod 为 running 状态,如下图:
至此,metrics-server 部署已经完成,接下来验证服务是否正常;
验证功能
执行命令 kubectl top node 查看服务器节点情况:
执行命令 kubectl top pod -n kube-system 查看 kube-system 这个 namespace 下所有 pod 的基本情况:
再来试试 metrics-server 的 API 服务,执行命令 kubectl proxy --port=8080 ,用来开代理端口;
再开打一个同样的 ssh 连接,执行命令 curl localhost:8080/apis/metrics.k8s.io/v1beta1/ ,如下图,可以看到 API 返回的内容:
查看名为 kube-apiserver-node1 的 pod 的基本信息,命令是: curl localhost:8080/apis/metrics.k8s.io/v1beta1/namespaces/kube-system/pods/kube-apiserver-node1 ,如下图:
至此,kubernetes 环境的 metrics-server 部署和验证都完成了,希望能给您一些参考;
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/9f872a14328180e05f3dba3a1】。文章转载请联系作者。
评论