kubernetes 部署 metrics-server,linux 服务器教程
得到名为 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,新增一些内容,如下图,红框中为新增的内容:
![](https://static001.geekbang.org/infoq/fb/fb9d05502a9bfab3cdc22d4a7fd9aa20.png)
部署 metrics-server
还是在目录 metrics-server-0.3.6/deploy/1.8+/,执行命令 kubectl apply -f ./
控制台提示多种资源被创建,如下图:
![](https://static001.geekbang.org/infoq/db/db9114e6cf9faebb5903add79003e9c3.png)
等待 metrics-server 的 pod 为 running 状态,如下图:
![](https://static001.geekbang.org/infoq/16/16ce4b5a39c741badbdc25badbe7592a.png)
至此,metrics-server 部署已经完成,接下来验证服务是否正常;
验证功能
执行命令 kubectl top node 查看服务器节点情况:
![](https://static001.geekbang.org/infoq/d8/d8c62437092f98f4fdf387048cac0353.png)
执行命令 kubectl top pod -n kube-system 查看 kube-system 这个 namespace 下所有 pod 的基本情况:
![](https://static001.geekbang.org/infoq/15/159e43cf62bcdfea3fb315519dd0672f.png)
再来试试 metrics-server 的 API 服务,执行命令 kubectl proxy --port=8080,用来开代理端口;
再开打一个同样的 ssh 连接,执行命令 curl localhost:8080/apis/metrics.k8s.io/v1beta1/,如下图,可以看到 API 返回的内容:
![](https://static001.geekbang.org/infoq/c6/c615561d2f65148f50fe1ed42d4f55b3.png)
查看名为 kube-apiserver-node1 的 pod 的基本信息,命令是:curl loca
lhost:8080/apis/metrics.k8s.io/v1beta1/namespaces/kube-system/pods/kube-apiserver-node1,如下图:
![](https://static001.geekbang.org/infoq/7c/7c3309075c773fe46bc7d3d27ad34d61.png)
至此,kubernetes 环境的 metrics-server 部署和验证都完成了,希望能给您一些参考;
评论