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"}}]}

kubernetes1.16 配置 metrics-server的更多相关文章

  1. kubernetes之配置Metrics Server

    Kubernetes 1.8 关于资源使用情况的 metrics,可以通过 Metrics API 获取到, Kubernetes 1.11 已经废弃 heapster.这里我们基于 Kubernet ...

  2. Ubuntu配置ssh server

    SSH-Server配置指南 一.SSH简介 SSH (Secure Shell)是一个应用程序中提供安全通信的协议,通过SSH协议可以安全地访问服务器,因为SSH 具有成熟的公钥加密体系,在数据进行 ...

  3. 第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护

    本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/ ...

  4. 启用k8s metrics server监控

    1.创建aggregator证书 方法一:直接使用二进制源码包安装 $ wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 $ chmod +x cfs ...

  5. 《连载 | 物联网框架ServerSuperIO教程》- 16.集成OPC Server,及使用步骤。附:3.3 发布与版本更新说明。

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  6. openvpn-在Linux中安装和配置OpenVPN Server的最简便方法!(转)

    在Linux中安装和配置OpenVPN Server 出于本文的需要,我将使用两个运行CentOS 7 64位版本的系统.一个充当OpenVPN服务器,另一个充当OpenVPN客户机.下面是测试系统的 ...

  7. ASP .Net Core系统部署到SUSE 16 Linux Enterprise Server 12 SP2 64 具体方案

    .Net Core 部署到 SUSE 16 Linux Enterprise Server 12 SP2 64 位中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk ...

  8. Linux 上配置 NTP SERVER

    在CENTOS 6.2上面安装配置NTP SERVER 安装NTP:yum install ntp 配置时间源vi /etc/ntp.confserver 210.72.145.44server nt ...

  9. ASP.NET Core 2.0 MVC 发布部署--------- SUSE 16 Linux Enterprise Server 12 SP2 X64 具体操作

    .Net Core 部署到 SUSE 16 Linux Enterprise Server 12 SP2 64 位中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk ...

随机推荐

  1. Handsontable vue如何实现在线编辑excal

    官网地址:https://handsontable.com/ 1.实现效果 2.安装 import { HotTable } from '@handsontable/vue' import Hands ...

  2. Hotspot研究-工程结构

  3. 【大数据】分布式并行计算MapReduce

    作业来源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3319 1.  用自己的话阐明Hadoop平台上HDFS和MapReduc ...

  4. 退出状态、测试(test or [])、操作符、[]与[[]]区别

    一.退出状态 系统每执行一个命令,都会返回一个退出状态,若返回退出状态为0,表示命令执行成功, 若返回退出状态不为0,表示命令执行有错误. echo  $? 可以打印出退出状态. 例如:ls echo ...

  5. Android NFC M1卡读写&芯片卡读写(CPU卡读写)(RFID读写)

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/sgn5200/article/detai ...

  6. 使用Nginx转发tcp请求

    要求nginx版本大于1.9,在nginx.conf添加以下,要求和http{}同级 stream { upstream cakehouse { server weight= max_fails= f ...

  7. typescript - 2.数据类型

    typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean) 数字类型(number) 字符串类型(st ...

  8. BDC里的 BDC_OKCODE

      BDC OKCODE其实都是function code,对于处理一些BDC问题 非常有用,   列出一些知道的 OKCODE BDC_OKCODE 功能描述 =/00.  Enter = /8   ...

  9. 【翻译】Flink Table Api & SQL —Streaming 概念 —— 时态表

    本文翻译自官网: Temporal Tables https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/strea ...

  10. QualityCenter(QC)—测试管理工具

    简介 Quality Center是一个基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括制定测试需求.计划测试.执行测试和跟踪缺陷.此外,通过Quality Center还可以 ...