zoukankan      html  css  js  c++  java
  • kubernetes1.16 配置 metrics-server

    kubernetes1.16 版本对应最新的metrics-server为v0.3.5。

    下载metrics-server配置文件

    git clone https://github.com/kubernetes-incubator/metrics-server
    

    kubernetes1.16 对应的文件再目录metrics-server/deploy/1.8+下。

    下载后还要修改配置文件metrics-server/deploy/1.8+/resource-reader.yaml

    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: system:metrics-server
    rules:
    - apiGroups:
      - ""
      resources:
      - pods
      - nodes
      - nodes/stats
      - namespaces ## 如果这行没有请添加
      verbs:
      - get
      - list
      - watch
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: system:metrics-server
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: system:metrics-server
    subjects:
    - kind: ServiceAccount
      name: metrics-server
      namespace: kube-system
    

    修改metrics-server/deploy/1.8+/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.5
            command:
            - /metrics-server
            - --kubelet-insecure-tls
            - --kubelet-preferred-address-types=InternalIP # 如果不配置此项,会报错找不到node
            imagePullPolicy: IfNotPresent    # 修改image拉取策略
            volumeMounts:
            - name: tmp-dir
              mountPath: /tmp
    

    安装metrics-server镜像

    注:如果你的主机可以访问k8s.gcr.io就跳过这个步骤

    因为国内用户无法直接拉取k8s.gcr.io上的镜像,解决的方法有几种。这里选择下载国内相同版本镜像再修改镜像的tag。

    首先搜索镜像:

    [root@k8s-node2 ~]# docker search metrics-server-amd64
    NAME                                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    mirrorgooglecontainers/metrics-server-amd64                                                   14
    ...   
    

    或者直接从https://hub.docker.com查找。

    下载对应版本的镜像

    [root@k8s-node2 ~]# docker pull mirrorgooglecontainers/metrics-server-amd64:v0.3.5  
    

    修改镜像tag,并删除原来的tag

    [root@k8s-node2 ~]# docker tag docker.io/mirrorgooglecontainers/metrics-server-amd64:v0.3.5 k8s.gcr.io/metrics-server-amd64:v0.3.5
    [root@k8s-node2 ~]# docker rmi docker.io/mirrorgooglecontainers/metrics-server-amd64:v0.3.5
    

    安装metrics-server

    准备完成后就安装metrics-server了:

    [root@k8s-master 1.8+]# cd /root/metrics-server/deploy/1.8+/
    [root@k8s-master 1.8+]# kubectl create -f .
    
    [root@k8s-master 1.8+]# kubectl get pods -n kube-system
    NAME                                 READY   STATUS    RESTARTS   AGE
    ...
    metrics-server-5cb6c5d66b-7979s      1/1     Running   0          83m
    

    安装完成后一段时间就可以看到以下的信息:

    [root@k8s-master 1.8+]# kubectl get --raw "/apis/metrics.k8s.io/v1beta1/nodes"
    {"kind":"NodeMetricsList","apiVersion":"metrics.k8s.io/v1beta1","metadata":{"selfLink":"/apis/metrics.k8s.io/v1beta1/nodes"},"items":[{"metadata":{"name":"k8s-master","selfLink":"/apis/metrics.k8s.io/v1beta1/nodes/k8s-master","creationTimestamp":"2019-10-09T14:01:45Z"},"timestamp":"2019-10-09T14:01:43Z","window":"30s","usage":{"cpu":"142548542n","memory":"936912Ki"}},{"metadata":{"name":"k8s-node1","selfLink":"/apis/metrics.k8s.io/v1beta1/nodes/k8s-node1","creationTimestamp":"2019-10-09T14:01:45Z"},"timestamp":"2019-10-09T14:01:39Z","window":"30s","usage":{"cpu":"36929393n","memory":"442216Ki"}},{"metadata":{"name":"k8s-node2","selfLink":"/apis/metrics.k8s.io/v1beta1/nodes/k8s-node2","creationTimestamp":"2019-10-09T14:01:45Z"},"timestamp":"2019-10-09T14:01:38Z","window":"30s","usage":{"cpu":"32871811n","memory":"451752Ki"}}]}
    
  • 相关阅读:
    [日常工作] cmd以及bash 直接使用当前目录的方法
    [安全] 公司局域网病毒处理
    SQLserver 使用网络驱动器恢复数据库
    MiniDP与HDMI的关系
    Win10删除微软拼音输入法的方法
    SQLSERVER case when 的学习
    [日常工作]偷懒创建一个存储过程进行模拟工作.
    oracle 18c centos7 设置开机自动启动Oracle
    kali linux升级
    [日常工作]Oracle新增数据文件的小知识点
  • 原文地址:https://www.cnblogs.com/xingyys/p/11644712.html
Copyright © 2011-2022 走看看