在kubernetes上部署metrics service

58 阅读1分钟

下载metrics-service组件yaml配置文件到本地

wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.3/components.yaml

  在k8s中启用此组件

kubectl apply -f components.yaml

 

  遇到报错

 Readiness probe failed: HTTP probe failed with statuscode: 500

报错是由于,k8s的配置默认要求进行tls验证,所以可以添加以下参数,来规避验证 添加 - --kubelet-insecure-tls参数

... 
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 
    image: k8s.gcr.io/metrics-server/metrics-server:v0.6.3 
    imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 
...

再次执行kubectl apply -f components.yaml即可

于是我们可以使用top命令查看node和pod的资源使用情况

hj@ubuntu-master:~$ kubectl top node  
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%  
huangji-ubuntu2004-k8s-subnode1 18m 0% 1388Mi 36%  
huangji-ubuntu2004-k8s-subnode2 21m 1% 1337Mi 35%  
ubuntu-master 152m 7% 2304Mi 61%
hj@ubuntu-master:~/Desktop$ kubectl top pod  
NAME CPU(cores) MEMORY(bytes)  
nginx-deploy-54844bd945-pg674 3m 4Mi