Kubernetes Metrics Server搭建指南

1. 简介

Kubernetes Metrics Server是Kubernetes进行资源监控的工具。Kubernetes Metrics Server可以做到监测和统计显示所有Kubernetes集群服务器的CPU和内容的使用情况。这个工具可以方便开发者或Kubernetes集群管理人员监控每个node或pod的资源使用状况。
当Kubernetes Metrics Server在Kubernetes集群服务器配置好以后,可以使用kubectl top nodeskubectl 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 nodeskubectl 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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!