kubernetes部署metrics-server

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kubernetes部署metrics-server相关的知识,希望对你有一定的参考价值。

欢迎访问我的GitHub

关于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的发布包:
wget https://github.com/kubernetes-sigs/metrics-server/archive/v0.3.6.tar.gz
  • 解压下载的文件:
tar -zxvf v0.3.6.tar.gz
  • 得到名为 metrics-server-0.3.6 的文件夹,下载工作完成;

解决问题

  • 接下来还不能立即部署服务,有两个问题要先解决:

  • metrics-server默认使用的是hostname,但是coredns中并没有三台物理机器的hostname和IP地址的关系,需要改为使用主机IP地址;

  • 验证客户端证书的问题,需要改为不验证;

  • 上述问题通过以下步骤解决:

  • 进入目录 metrics-server-0.3.6/deploy/1.8+/

cd 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部署和验证都完成了,希望能给您一些参考;

欢迎关注51CTO博客:程序员欣宸

以上是关于kubernetes部署metrics-server的主要内容,如果未能解决你的问题,请参考以下文章

kubernetes 1.14安装部署metrics-server插件

Linux企业运维——Kubernetes(十六)容器资源监控

Linux企业运维——Kubernetes(十六)容器资源监控

metrics-server v0.3.7部署

metrics-server v0.3.7部署

metrics-server监控主机资源