sky_cheng

导航

 

在新版的K8S中,系统资源的采集均使用Metrics-Server服务,可以通过Metrics-Server服务采集节点和Pod的内存、磁盘、CPU和网络的使用率等信息。通过 Metrics API 获取。

  • Metrics API 只可以查询当前的度量数据,并不保存历史数据
  • Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics维护
  • 必须部署 metrics-server 才能使用该 API,metrics-server 通过调用 Kubelet Summary API 获取数据

1、下载mertric-server

[root@master69 kubernetes]# mkdir metric-server
[root@master69 kubernetes]# cd  metric-server
[root@master69 metric-server]# wget https://github.com/kubernetes-sigs/metrics-server/archive/v0.3.6.tar.gz

2、解压

[root@master69 metric-server]# tar -zxvf v0.3.6.tar.gz 

3、修改metrics-server-deployment.yaml文件配置

[root@master69 metric-server]# cd metrics-server-0.3.6/deploy/1.8+/
[root@master69 1.8+]# vim metrics-server-deployment.yaml 
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: metrics-server
  namespace: kube-system
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: metrics-server
  namespace: kube-system
  labels:
    k8s-app: metrics-server
spec:
  selector:
    matchLabels:
      k8s-app: metrics-server
  template:
    metadata:
      name: metrics-server
      labels:
        k8s-app: metrics-server
    spec:
      serviceAccountName: metrics-server
      volumes:
      # mount in tmp so we can safely use from-scratch images and/or read-only containers
      - name: tmp-dir
        emptyDir: {}
      containers:
      - name: metrics-server
        #image: k8s.gcr.io/metrics-server-amd64:v0.3.6
        image: mirrorgooglecontainers/metrics-server-amd64:v0.3.6   #修改image仓库和镜像拉取策略
        imagePullPolicy: IfNotPresent
        #增加Command配置
        command:
        - /metric-server
        - --kubelet-insecure-tls
        - --kubelet-preferred-address-types=InternalDNS,InternalIP,ExternalDNS,ExternalIP,Hostname
        volumeMounts:
        - name: tmp-dir
          mountPath: /tmp
        #增加resources配置
        resources:
          limits:
            cpu: 300m
            memory: 200Mi
          requests:
            cpu: 200m
            memory: 100Mi                    

4、安装metric-server

[root@master69 1.8+]# kubectl create -f .

5、测试

[root@master69 1.8+]# kubectl top node
NAME             CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master69         355m         8%     3600Mi          45%       
redis-01.hlqxt   105m         2%     12396Mi         38%       
redis-02.hlqxt   117m         2%     19301Mi         60%       
redis-03.hlqxt   99m          2%     15405Mi         48%    

 

posted on 2021-06-30 16:28  sky_cheng  阅读(537)  评论(2编辑  收藏  举报