1、创建 metrics-server 使用的证书

vim metrics-server-csr.json{"CN": "aggregator","hosts": [],"key": {"algo": "rsa","size": 2048},"names": [{"C": "CN","ST": "BeiJing","L": "BeiJing","O": "k8s","OU": "System"}]
}

cfssl gencert -ca=/etc/kubernetes/ssl/ca.pem \-ca-key=/etc/kubernetes/ssl/ca-key.pem \ -config=/opt/ssl/config.json \-profile=kubernetes metrics-server-csr.json | cfssljson -bare metrics-server

将生成的证书拷贝到所有node和master节点
cp metrics-server*.pem /etc/kubernetess/ssl/
scp metrics-server*.pem  192.168.1.8:/etc/kubernetess/ssl/

2、修改 kubernetes 控制平面组件的配置以支持 metrics-server

kube-apiserver

添加如下配置参数:

  --requestheader-client-ca-file=/etc/kubernetes/ssl/ca.pem \--requestheader-extra-headers-prefix=X-Remote-Extra- \--requestheader-group-headers=X-Remote-Group \--requestheader-username-headers=X-Remote-User \--proxy-client-cert-file=/etc/kubernetes/ssl/metrics-server.pem \--proxy-client-key-file=/etc/kubernetes/ssl/metrics-server-key.pem \--runtime-config=api/all=true \

  • --requestheader-XXX、--proxy-client-XXX 是 kube-apiserver 的 aggregator layer 相关的配置参数,metrics-server & HPA 需要使用;
  • --requestheader-client-ca-file:用于签名 --proxy-client-cert-file 和 --proxy-client-key-file 指定的证书;在启用了 metric aggregator 时使用;
  • 如果 kube-apiserver 机器没有运行 kube-proxy,则还需要添加 --enable-aggregator-routing=true 参数

注意:requestheader-client-ca-file 指定的 CA 证书,必须具有 client auth and server auth

kube-controller-manager

添加如下配置参数:

--horizontal-pod-autoscaler-use-rest-clients=true

用于配置 HPA 控制器使用 REST 客户端获取 metrics 数据

3、修改插件配置文件

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

# cd metrics-server/deploy/1.8+

# vim metrics-server-deployment.yaml

apiVersion: v1
kind: ServiceAccount
metadata: name: metrics-servernamespace: kube-system
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: metrics-servernamespace: kube-systemlabels:k8s-app: metrics-server
spec:selector:matchLabels:k8s-app: metrics-servertemplate:metadata:name: metrics-serverlabels:k8s-app: metrics-serverspec:serviceAccountName: metrics-servervolumes:# mount in tmp so we can safely use from-scratch images and/or read-only containers- name: tmp-diremptyDir: {}containers:- name: metrics-serverimage: mirrorgooglecontainers/metrics-server-amd64:v0.3.1imagePullPolicy: Always  command:- /metrics-server- --kubelet-insecure-tls- --kubelet-preferred-address-types=InternalIPvolumeMounts:- name: tmp-dirmountPath: /tmp

注释:1、metrics默认使用hostname来通信的,而且coredns中已经添加了宿主机的/etc/resolv.conf,
             所以只需要添加一个内部的dns服务器或者在pod的deployment的yaml手动添加主机解析记录,再或者改变参数为InternalIP,直接用ip来连接
         2、kubelet-insecure-tls: 跳过验证kubelet的ca证书,暂时开启。(不推荐用于生产环境)

4、修改完成之后开始部署

# kubectl apply .

# kubectl get pods -n kube-system | grep metrics

# kubectl get apiservice v1beta1.metrics.k8s.io -o yaml

5、验证是否成功

# kubectl top nodes

NAME    CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
es-60   377m         18%    5915Mi          76%
es-61   267m         13%    5479Mi          70%  

注意: 内存单位 Mi=1024*1024字节  M=1000*1000字节

CPU单位 1核=1000m 即250m=1/4核

# kubectl top pod --all-namespaces

参考资料: https://github.com/kubernetes-incubator/metrics-server/issues/97

Metrics-server插件安装配置相关推荐

  1. 【EMCC】 12.1.0.5 OEM server agent 安装配置及监控MySQL数据库

    [EMCC]Oracle Enterprise Manager Cloud Control 12.1.0.5 OEM server agent 安装配置及监控MySQL数据库 原文: https:// ...

  2. linux ubuntu安装 mono,在 Ubuntu Server 上安装配置 Mono 生产环境

    在 Ubuntu Server 上安装配置 Mono 生产环境 在 Ubuntu Server 上安装和配置 Apache2 + Mono 生产环境的记录. 服务器环境是 Ubuntu Server ...

  3. SQL Server 2012安装配置(Part2 )

    SQL Server 2012安装配置(Part1 ) 2. 服务器安装 运行安装程序后,首先进入 SQL Server 安装中心.选择左侧导航树中的"安装"菜单项. 图2-1 S ...

  4. Solr Server服务器端安装配置

    Solr Server服务器端安装配置 一.下载SOLR相关 http://mirror.bit.edu.cn/apache/lucene/solr/4.9.1/solr-4.9.1.zip 下载后解 ...

  5. ubuntu 18.04.2 server基本安装配置

    ubuntu 18.04.2 server基本安装配置 忽然相感觉一下云服务器的操作方式,今天空闲使用Windows10 + VMWare15 + ubuntu server模拟一下,以下是搞了一天的 ...

  6. 几个常见的js插件安装配置

    几个常见的js插件安装配置color piker,debugger for chrome 这里推荐几个js插件,并附上安装方法(macos系统下安装) 下面是推荐列表: 1.Color Piker 配 ...

  7. ELK(elasticsearch5.0)head插件安装配置

    elk升级部署到elasticsearch5.0后,安装elasticsearch-head插件遇到一个小问题:版本5.0以后,则并没有按照之前形式管理插件,而是通过npm管理配置. 5.0之前eg: ...

  8. Scala SDK及IDEA插件安装配置

    Linux CentOS6.5 Scala SDK安装配置 1. 下载Scala SDK安装包 下载地址:https://www.scala-lang.org/download/ 本文linux版本为 ...

  9. SQL Server 2008安装配置说明书+简单使用 亲测可用

    SQL Server 2008 序列号: Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB Enterprise: JD8Y6-HQG69-P9H84-XDTPG-34 ...

  10. Biztalk Server 2006安装配置

    前段时间收到了来自beta.microsoft.com的BTS20006 Beta2的下载地址,这两天对它进行了一番安装配置.下面把一些经过和步骤和大家分享一下,手中有一些去年的Biztalk Ser ...

最新文章

  1. Three.js中使用requestAnimationFrame方法实现立方体转动和小球跳动的动画
  2. Java中使用Jacob实现Windows下语音合成并生成音频文件
  3. c++学习笔记之类和对象的进阶
  4. 零基础学Python(第十二章 列表【list】)
  5. NumPy 数学函数
  6. c# mysql sdr_C#结合数据库实现验证识别ID卡内容的方法
  7. [Swift实际操作]八、实用进阶-(7)使用通知的方法进行对象间的消息传递
  8. SQL注入了解认识及注入方式
  9. python找不到模块pyodbc_Python:找不到pyodbc导入模块
  10. NH2-UiO-66|CAS号1260119-00-3金属有机骨架
  11. 四通一达归于阿里后就涨价,证明资本的目标就是以垄断攫取利润
  12. 什么叫冷备用状态_什么是热备用状态?
  13. 状态模式、有限状态机 Unity版本实现
  14. Model-Agnostic Meta-Learning (MAML) 理解
  15. 阿里云数据盘扩容操作遇险记录
  16. 苹果13系统锁屏延迟_iPhone锁屏慢有延迟怎么办 苹果手机锁屏不灵敏解决方法
  17. STM32F411核心板固件库开发(一) GPIO基本配置
  18. ffmpeg 源码不可以下载
  19. MVGCN 人群流量预测模型 笔记
  20. 【LeetCode】825. Friends Of Appropriate Ages 解题报告(Python)

热门文章

  1. Python中字典的介绍以及常用操作
  2. hyperic hq mysql_网络管理工具Hyperic HQ监控MySQL配置
  3. angular4创建html,Angular 4 Http服务
  4. oracle正确使用索引,通过案例学调优之--Oracle中null使用索引
  5. python创建一个空列表alist_【Python 1-7】Python手把手教程之——详解列表List
  6. 东南亚跨境电商蓬勃发展,马来西亚市场分析及选品
  7. 脸红是因为缺乏乙醛分解酶导致的酒精中毒
  8. Java中配置加密组件Bouncy_Castle
  9. Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站
  10. 树——通用树结点数目、高度和度数的实现