一、部署步骤

1、准备metrics-server官方yaml文件

2、部署metrics-server

3、查看资源使用情况

二、准备metrics-server官方yaml文件

  1. [root@localhost ~]# cat >> components.yaml <<EOF
  2. ---
  3. apiVersion: rbac.authorization.k8s.io/v1
  4. kind: ClusterRole
  5. metadata:
  6. name: system:aggregated-metrics-reader
  7. labels:
  8. rbac.authorization.k8s.io/aggregate-to-view: "true"
  9. rbac.authorization.k8s.io/aggregate-to-edit: "true"
  10. rbac.authorization.k8s.io/aggregate-to-admin: "true"
  11. rules:
  12. - apiGroups: ["metrics.k8s.io"]
  13. resources: ["pods", "nodes"]
  14. verbs: ["get", "list", "watch"]
  15. ---
  16. apiVersion: rbac.authorization.k8s.io/v1
  17. kind: ClusterRoleBinding
  18. metadata:
  19. name: metrics-server:system:auth-delegator
  20. roleRef:
  21. apiGroup: rbac.authorization.k8s.io
  22. kind: ClusterRole
  23. name: system:auth-delegator
  24. subjects:
  25. - kind: ServiceAccount
  26. name: metrics-server
  27. namespace: kube-system
  28. ---
  29. apiVersion: rbac.authorization.k8s.io/v1
  30. kind: RoleBinding
  31. metadata:
  32. name: metrics-server-auth-reader
  33. namespace: kube-system
  34. roleRef:
  35. apiGroup: rbac.authorization.k8s.io
  36. kind: Role
  37. name: extension-apiserver-authentication-reader
  38. subjects:
  39. - kind: ServiceAccount
  40. name: metrics-server
  41. namespace: kube-system
  42. ---
  43. apiVersion: apiregistration.k8s.io/v1beta1
  44. kind: APIService
  45. metadata:
  46. name: v1beta1.metrics.k8s.io
  47. spec:
  48. service:
  49. name: metrics-server
  50. namespace: kube-system
  51. group: metrics.k8s.io
  52. version: v1beta1
  53. insecureSkipTLSVerify: true
  54. groupPriorityMinimum: 100
  55. versionPriority: 100
  56. ---
  57. apiVersion: v1
  58. kind: ServiceAccount
  59. metadata:
  60. name: metrics-server
  61. namespace: kube-system
  62. ---
  63. apiVersion: apps/v1
  64. kind: Deployment
  65. metadata:
  66. name: metrics-server
  67. namespace: kube-system
  68. labels:
  69. k8s-app: metrics-server
  70. spec:
  71. selector:
  72. matchLabels:
  73. k8s-app: metrics-server
  74. template:
  75. metadata:
  76. name: metrics-server
  77. labels:
  78. k8s-app: metrics-server
  79. spec:
  80. serviceAccountName: metrics-server
  81. volumes:
  82. # mount in tmp so we can safely use from-scratch images and/or read-only containers
  83. - name: tmp-dir
  84. emptyDir: {}
  85. containers:
  86. - name: metrics-server
  87. image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.6
  88. imagePullPolicy: IfNotPresent
  89. args:
  90. - --cert-dir=/tmp
  91. - --secure-port=4443
  92. - --kubelet-insecure-tls
  93. - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
  94. ports:
  95. - name: main-port
  96. containerPort: 4443
  97. protocol: TCP
  98. securityContext:
  99. readOnlyRootFilesystem: true
  100. runAsNonRoot: true
  101. runAsUser: 1000
  102. volumeMounts:
  103. - name: tmp-dir
  104. mountPath: /tmp
  105. nodeSelector:
  106. kubernetes.io/os: linux
  107. kubernetes.io/arch: "amd64"
  108. ---
  109. apiVersion: v1
  110. kind: Service
  111. metadata:
  112. name: metrics-server
  113. namespace: kube-system
  114. labels:
  115. kubernetes.io/name: "Metrics-server"
  116. kubernetes.io/cluster-service: "true"
  117. spec:
  118. selector:
  119. k8s-app: metrics-server
  120. ports:
  121. - port: 443
  122. protocol: TCP
  123. targetPort: main-port
  124. ---
  125. apiVersion: rbac.authorization.k8s.io/v1
  126. kind: ClusterRole
  127. metadata:
  128. name: system:metrics-server
  129. rules:
  130. - apiGroups:
  131. - ""
  132. resources:
  133. - pods
  134. - nodes
  135. - nodes/stats
  136. - namespaces
  137. - configmaps
  138. verbs:
  139. - get
  140. - list
  141. - watch
  142. ---
  143. apiVersion: rbac.authorization.k8s.io/v1
  144. kind: ClusterRoleBinding
  145. metadata:
  146. name: system:metrics-server
  147. roleRef:
  148. apiGroup: rbac.authorization.k8s.io
  149. kind: ClusterRole
  150. name: system:metrics-server
  151. subjects:
  152. - kind: ServiceAccount
  153. name: metrics-server
  154. namespace: kube-system
  155. EOF

三、部署metrics-server

  1. [root@localhost ~]# kubectl apply -f components.yaml
  2. [root@localhost ~]# kubectl get pods -n kube-system|grep metrics-server

四、查看资源使用情况

  1. [root@localhost ~]# kubectl top pod

  1. [root@localhost ~]# kubectl top node

k8s集群查看node和pod的实时资源使用情况的更多相关文章

  1. k8s集群添加node节点(使用kubeadm搭建的集群)

    1.安装docker.kubelet.kubectl.kubeadm.socat # cat kubernets.repo[kubernetes]name=Kubernetesbaseurl=http ...

  2. kubernetes生态--交付prometheus监控及grafana炫酷dashboard到k8s集群

    由于docker容器的特殊性,传统的zabbix无法对k8s集群内的docker状态进行监控,所以需要使用prometheus来进行监控: 什么是Prometheus? Prometheus是由Sou ...

  3. k8s集群Canal的网络控制 原

    1 简介 直接上干货 public class DispatcherServlet extends HttpServlet { private Properties contextConfigProp ...

  4. install kubernetes cluster k8s集群安装

    一,安装docker-ce 17.031,下载rpm包 Wget -P /tmp https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/ ...

  5. 【K8S学习笔记】Part2:获取K8S集群中运行的所有容器镜像

    本文将介绍如何使用kubectl列举K8S集群中运行的Pod内的容器镜像. 注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同. 0x00 准备工作 需要有一个K8S集群,并且配置好了k ...

  6. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...

  7. k8s集群启动了上万个容器(一个pod里放上百个容器,起百个pod就模拟出上万个容器)服务器超时,无法操作的解决办法

    问题说明: 一个POD里放了百个容器,然后让K8S集群部署上百个POD,得到可运行上万个容器的实验目的. 实验环境:3台DELL裸机服务器,16核+64G,硬盘容量忽略吧,上T了,肯定够. 1.一开始 ...

  8. kubeadm搭建K8s集群及Pod初体验

    基于Kubeadm 搭建K8s集群: 通过上一篇博客,我们已经基本了解了 k8s 的基本概念,也许你现在还是有些模糊,说真的我也是很模糊的.只有不断地操作去熟练,强化自己对他的认知,才能提升境界. 我 ...

  9. 使用kubectl管理Kubernetes(k8s)集群:常用命令,查看负载,命名空间namespace管理

    目录 一.系统环境 二.前言 三.kubectl 3.1 kubectl语法 3.2 kubectl格式化输出 四.kubectl常用命令 五.查看kubernetes集群node节点和pod负载 5 ...

  10. K8s集群部署(三)------ Node节点部署

    之前的docker和etcd已经部署好了,现在node节点要部署二个服务:kubelet.kube-proxy. 部署kubelet(Master 节点操作) 1.二进制包准备 [root@k8s-m ...

随机推荐

  1. 4-发票校验-不可能为条目1000 DIF确立帐户-消息号 M8147

    SPRO-->物料管理-->评估和科目设置-->科目确定-->无向导的科目确定-->配置自动记帐(OBYC)

  2. 生成虚拟mac地址通过dhcp获取ip,耗尽dhco地址池

    平台:kali 软件:dhcpstarv 命令 dhcpstarv  -i 网卡名称 -e 本机IP 查看dhcp服务器已经分发的地址 cat /tmp/dhcp.leases

  3. 画ERA5气压层剖面图(含地形)

    气象上一般使用气压垂直坐标系,在不同的气压层绘制变量.ERA5再分析数据的最低气压层是1000 hPa.实际上,由于地形起伏,一些位置的地面气压低于1000 hPa,一些位置的地面气压高于1000 h ...

  4. Git使用的一些文章

    教程: 首先[Git的基础] | 猴子都能懂的GIT入门 | 贝格乐(Backlog) Learn Git Branching 配置 Git 本地配置多个ssh key: https://www.cn ...

  5. 写于vue3.0发布前夕的helloworld

    前言: vue3.0马上要来了,于今昔写一篇vue将一个字符串hellowrold渲染于页面的过程,慰藉我这几个月写vue的'枯燥'. 源码版本是2.6.10. 开始: 我们的模板足够简单: < ...

  6. SpringBoot导读

    SpringBoot 一.导读 1.开发工具及技术栈 JDK:jdk1.8.0_191 开发工具:IntelliJIDEA 2020.3.2 SpringBoot: 简化Spring的开发 需要一定的 ...

  7. maven重点分析

    目录 什么是maven pom.xml 约定大于配置 根元素和必要配置 父项目和parent元素 项目构建需要的信息 路径管理 资源管理 详细使用 filtering的使用 怎么理解pom中多个res ...

  8. fragment加radio不可滑动

    public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener { ...

  9. CSP-J入门组

    setw(2) cout<<setw(2) //设置后面显示字符的宽度为2 cout<<fixed<<setprecision(6)<<变量名;//设置 ...

  10. Jemter 压测基础(一)

    Jemter   压测基础(一) 1.压力测试的基本概念: 1.吞吐率(Requestspersecond) 服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请 ...