Kubernetes Metrics Server搭建指南
1. 简介
Kubernetes Metrics Server是Kubernetes进行资源监控的工具。Kubernetes Metrics Server可以做到监测和统计显示所有Kubernetes集群服务器的CPU和内容的使用情况。这个工具可以方便开发者或Kubernetes集群管理人员监控每个node或pod的资源使用状况。
当Kubernetes Metrics Server在Kubernetes集群服务器配置好以后,可以使用kubectl top nodes
或kubectl top pods
命令分别监控Kubernetes每个节点和pod的资源使用状况。
2. 安装Kubernetes Metrics Server
默认情况下Kubernetes Metrics Server是没有在Kubernetes集群服务器上安装的,可以执行下面命令进行安装:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
安装成功之后,可以执行kubectl top nodes
或kubectl top pods
命令测试是否安装成功。
3. 安装错误修改
Kubernetes Metrics Server通过章节2很容易安装成功,但是在使用过程中会出现以下错误:
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io)
当出现这个错误的时候,使用下面的命令对YAML配置文件进行编辑:
kubectl edit deployments.apps -n kube-system metrics-server
在文件中找到
spec:
containers:
- args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --metric-resolution=15s
然后更改为:
spec:
containers:
- args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --metric-resolution=15s
- --kubelet-insecure-tls=true
- --requestheader-client-ca-file
- --kubelet-preferred-address-types=InternalIP
然后找到
dnsPolicy: ClusterFirst
在后面添加hostNetwork: true
dnsPolicy: ClusterFirst
hostNetwork: true
然后保存退出即可。
接下来可以用命令kubectl get apiservices | grep metrics
来测试是否运行成功。下面显示的是正确运行的标志:
v1beta1.metrics.k8s.io kube-system/metrics-server True 42m
References
Kubernetes Metrics Server | How to deploy k8s metrics server and use it for monitoring
本作品采用《CC 协议》,转载必须注明作者和本文链接