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

最新文章

  1. 去哪儿网输入框三种输入方式(selenium webdriver 干货)
  2. hive的数据导出方式
  3. 图解atime/mtime/ctime之间的区别与联系
  4. JAVA 设计模式 中介者模式
  5. 【JAVA集合框架之工具类】
  6. Selenium2+python自动化13-Alert
  7. linux 禁止ping
  8. 【原】Storm序列化
  9. 远程mysql出现ERROR 1130 (HY000): Host '172.17.42.1' is not allowed to connect to this MySQL server
  10. android开发环境与工具使用相关备忘录
  11. 1.9 需求订单导入MDS
  12. element-ui更换主题色
  13. python3 tkinter报错:_tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by grid
  14. Python爬虫6-利用ProxyHandler设置代理服务器
  15. 分布式监控系统Zabbix-图形集中展示插件Graphtree安装笔记
  16. url查询参数解析
  17. websocket python实现原理
  18. Path Sum leetcode java
  19. 系列文章--从零开始学习ASP.NET MVC 1.0
  20. redis动态扩展内存

热门文章

  1. js改变this指向
  2. 文字环绕和两栏自适应以及区域滚动插件iscroll.js
  3. gulp+apache代理请求处理javascript跨域请求
  4. 【POJ1068】Parencodings
  5. 【cf补题记录】A. Hotelier
  6. linux定时执行shell脚本
  7. 块元素&行内元素
  8. https://www.cnblogs.com/LBSer/p/3310455.html
  9. kubectl -n ingress-nginx exec nginx-ingress-controller-78bd49949c-t22bl -- cat /etc/nginx/nginx.conf
  10. Redis慢日志查询