https://github.com/kubernetes-sigs/metrics-server/releases

下载master执行

[root@k8s-master-1 ~]# mkdir metrics
[root@k8s-master-1 ~]# cd metrics/
[root@k8s-master-1 metrics]# ls
[root@k8s-master-1 metrics]# 
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.8.1/components.yaml

检查是不是下载成功了

[root@k8s-master-1 resource]# ls
components.yaml

进入components.yaml

vim components.yaml

拉取镜像--metrics-server:v0.8.1--渡渡鸟

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1  registry.k8s.io/metrics-server/metrics-server:v0.8.1
直接在 k8s.io 命名空间拉取(推荐)

在拉取时就指定 -n k8s.io,一步到位:

[root@k8s-master-1 resource]# ctr -n k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1
swr.cn north 4.myhuaweicloud.com/ddn k8s    saved   
└──manifest (4a4376379ab8)                  complete    |++++++++++++++++++++++++++++++++++++++|    
   ├──config (e76b3f3568b7)                 complete    |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (15ffdbec9d0f)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (d557676654e5)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (03c9b64681ee)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (2e4cf50eeb92)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (56ce5a7a0a8c)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (e1089d61b200)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (0f8b424aa0b9)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (0783a66ae749)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (d82bc7a76a83)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (68e4cd60e60f)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (6b72b81ed966)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   ├──layer (b40161cd83fc)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
   └──layer (6cdd517ba905)                  extracted   |++++++++++++++++++++++++++++++++++++++|    
application/vnd.docker.distribution.manifest.v2+json sha256:4a4376379ab80d3e1fd5edbf8c3ddcc0b9be8ccb56167e4f8c9423e5e11b0cfe
Completed pull from OCI Registry (swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1)    elapsed: 1.9 s  total:  21.4 M  (11.1 MiB/s)    
​

查看镜像

[root@k8s-master-1 resource]# ctr -n k8s.io images ls | grep metrics-server
metrics-server:v0.8.1                                                                                                                   application/vnd.docker.distribution.manifest.v2+json      sha256:4a4376379ab80d3e1fd5edbf8c3ddcc0b9be8ccb56167e4f8c9423e5e11b0cfe 21.4 MiB  linux/amd64                                                                  io.cri-containerd.image=managed                                 
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1                                           application/vnd.docker.distribution.manifest.v2+json      sha256:4a4376379ab80d3e1fd5edbf8c3ddcc0b9be8ccb56167e4f8c9423e5e11b0cfe 21.4 MiB  linux/amd64                                                                  io.cri-containerd.image=managed   

镜像的实际地址

swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1

修改components.yaml的内容

修改前

    spec:
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=10250
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        image: registry.k8s.io/metrics-server/metrics-server:v0.8.1
​

修改后(image:镜像的实际地址)

containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=10250
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        - --kubelet-insecure-tls
        image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1

应用修改后的 YAML

先把修改后的配置应用到集群中:

kubectl apply -f components.yaml

结果

[root@k8s-master-1 resource]# kubectl apply -f components.yaml
serviceaccount/metrics-server created
clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader created
clusterrole.rbac.authorization.k8s.io/system:metrics-server created
rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader created
clusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator created
clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server created
service/metrics-server created
deployment.apps/metrics-server created
apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created

检查 Pod 是否正常运行

[root@k8s-master-1 resource]# kubectl get pods -n kube-system | grep metrics-server
metrics-server-84896697fc-82s6g            1/1     Running   0              2m13s

显示Running运行成功

检验

[root@k8s-master-1 resource]# kubectl top nodes
NAME           CPU(cores)   CPU(%)   MEMORY(bytes)   MEMORY(%)   
k8s-master-1   105m         5%       1592Mi          45%         
k8s-node-1     39m          1%       700Mi           19%         
k8s-node-2     45m          2%       784Mi           22%         
[root@k8s-master-1 resource]# kubectl top pod
No resources found in default namespace.

kubectl top pod命令发生问题

原因:kubectl top pod 默认只查询default命名空间,但我的metrics-server 等核心组件都运行在 kube-system 命名空间。

kubectl top pod` 等价于 `kubectl top pod -n default

修改命令

kubectl top pod -n kube-system

结果

NAME                                       CPU(cores)   MEMORY(bytes)   
calico-kube-controllers-79fcb48598-w8j5x   2m           58Mi            
calico-node-2ksss                          13m          167Mi           
calico-node-6g5fw                          14m          169Mi           
calico-node-dk6wd                          18m          167Mi           
coredns-bbdc5fdf6-f26x4                    1m           34Mi            
coredns-bbdc5fdf6-t2tmg                    1m           52Mi            
etcd-k8s-master-1                          14m          91Mi            
kube-apiserver-k8s-master-1                22m          335Mi           
kube-controller-manager-k8s-master-1       7m           130Mi           
kube-proxy-crc44                           1m           63Mi            
kube-proxy-jhcmb                           1m           63Mi            
kube-proxy-lkwl7                           1m           62Mi            
kube-scheduler-k8s-master-1                4m           65Mi            
metrics-server-84896697fc-82s6g            2m           20Mi     

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐