这篇文章主要讲解了“在Kubernetes Cluster中如何部署Metrics Server服务”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Kubernetes Cluster中如何部署Metrics Server服务”吧!
创新互联建站2013年开创至今,先为宁强等服务建站,宁强等地企业,进行企业商务咨询服务。为宁强企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
该笔记将记录:在 Kubernetes Cluster 中,如何部署 Metrics Server 服务,以及常见问题处理。
我们的测试环境为 Kubernetes Cluster v1.16 版本。
Metrics Server 对网络和集群有特殊要求。这样要求在某些集群里不是默认配置,所以要先确认是否满足要求。
1)Metrics Server must be reachable from kube-apiserver
2)The kube-apiserver must be correctly configured to enable an aggregation layer
检查 /etc/kubernetes/manifests/kube-apiserver.yaml 选项,默认已经开启。
3)Nodes must have kubelet authorization configured to match Metrics Server configuration
4)Container runtime must implement a container metrics RPCs
下载 components.yaml 文件,并根据需要进行修改:
1)我们需要修改在 YAML 文件中的镜像地址,使用私有镜像仓库;
默认镜像属于 k8s.gcr.io 仓库,拉取必然失败,修改为 bitnami/metrics-server:0.4.2
2)添加 --kubelet-preferred-address-types=InternalIP 与 --kubelet-insecure-tls 选项;
# kubectl apply -f "/path/to/components.yaml" # kubectl get -n kube-system pods -l k8s-app=metrics-server NAME READY STATUS RESTARTS AGE metrics-server-66d4d747c4-nmzs6 1/1 Running 0 8m19s
# kubectl top node --sort-by=cpu ... # kubectl top pod --all-namespaces --containers ...
# kubectl top -n kube-system pod W0702 10:48:07.400630 6619 top_pod.go:266] Metrics not available for pod kube-system/coreDNS-58cc8c89f4-6czm4, age: 4267h8m49.400600321s error: Metrics not available for pod kube-system/coredns-58cc8c89f4-6czm4, age: 4267h8m49.400600321s
通过添加 --kubelet-preferred-address-types=InternalIP 与 --kubelet-insecure-tls 选项解决;
E0702 02:39:09.777832 1 reststorage.go:160] unable to fetch pod metrics for pod default/counter: no metrics known for pod E0702 02:39:09.777843 1 reststorage.go:160] unable to fetch pod metrics for pod kube-system/etcd-k8s-master-02: no metrics known for pod E0702 02:39:09.777863 1 reststorage.go:160] unable to fetch pod metrics for pod kube-system/fluentd-p6d29: no metrics known for pod E0702 02:39:09.777874 1 reststorage.go:160] unable to fetch pod metrics for pod kube-system/kube-proxy-xdh3z: no metrics known for pod E0702 02:39:09.777885 1 reststorage.go:160] unable to fetch pod metrics for pod kube-system/etcd-k8s-master-01: no metrics known for pod E0702 02:39:09.777900 1 reststorage.go:160] unable to fetch pod metrics for pod kube-system/kube-proxy-jrpnd: no metrics known for pod
通过添加 --kubelet-preferred-address-types=InternalIP 与 --kubelet-insecure-tls 选项解决
感谢各位的阅读,以上就是“在Kubernetes Cluster中如何部署Metrics Server服务”的内容了,经过本文的学习后,相信大家对在Kubernetes Cluster中如何部署Metrics Server服务这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!