k8s--kubernetes资源监控:Metrics-Server与Dashboard


一、Metrics-Server

k8s中文官网:https://kubernetes.io/zh-cn/docs/reference/kubernetes-api/
gitee官网:https://gitee.com/

1.Metrics-Server部署

  • Metrics-Server是集群核心监控数据(cpu、内存)的聚合器,用来替换之前的heapster。
  • 容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。
    Metrics API 只可以查询当前的度量数据,并不保存历史数据
    Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 维护。
    必须部署 metrics-server 才能使用该 API,metrics-server 通过调用 Kubelet Summary API 获取数据。
  • 示例:
    http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/nodes
    http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/nodes/
    http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/namespace//pods/
  • Metrics Server 并不是 kube-apiserver 的一部分,而是通过 Aggregator 这种插件机制,在独立部署的情况下同 kube-apiserver 一起统一对外服务的。
  • kube-aggregator(默认自启动) 其实就是一个根据 URL 选择具体的 API 后端的代理服务器。
    在这里插入图片描述
  • Metrics-server属于Core metrics(核心指标),提供API metrics.k8s.io,仅提供Node和Pod的CPU和内存使用情况。而其他Custom Metrics(自定义指标)由Prometheus等组件来完成。
    资源下载:https://github.com/kubernetes-incubator/metrics-server
  • Metrics-server部署:
    $ kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
    在这里插入图片描述

Metrics-server部署
官网:https://github.com/kubernetes-sigs/metrics-server
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
必须走tls,按照下图设置即可:所有节点的kubelet-config
启动节点的自签名证书
在这里插入图片描述
下载部署文件
[root@k8s2 ~]# mkdir metrics
[root@k8s2 ~]# cd metrics
[root@k8s2 metrics]# wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
目录中修改部署文件
在这里插入图片描述
上传镜像到harbor,确保有对应的镜像
拉取镜像
[root@k8s1 harbor]# docker pull bitnami/metrics-server:0.6.2
[root@k8s1 harbor]# docker tag bitnami/metrics-server:0.6.2 reg.westos.org/library/metrics-server:0.6.2
[root@k8s1 harbor]# docker push reg.westos.org/library/metrics-server:0.6.2
在这里插入图片描述
[root@k8s2 metrics]# kubectl apply -f components.yaml
在这里插入图片描述
注意:以前版本会有各种坑出现,以后也许会出现

2.测试

如有问题,可以查看日志
[root@k8s2 metrics]# kubectl -n kube-system logs metrics-server-5f5599576c-lbqgm
在这里插入图片描述
CPU排序:
在这里插入图片描述

二、Dashboard部署:可视化

Dashboard可以给用户提供一个可视化的 Web 界面来查看当前集群的各种信息。用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管理 Kubernetes 各种资源。

网址:https://github.com/kubernetes/dashboard
在这里插入图片描述
在这里插入图片描述

1.部署

下载部署文件
[root@k8s2 ~]# mkdir dashboard
[root@k8s2 ~]# cd dashboard
[root@k8s2 dashboard]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
上传所需镜像到harbor:直接拉取即可
在这里插入图片描述
部署:直接启用即可
[root@k8s2 dashboard]# kubectl apply -f recommended.yaml

修改svc
注意:集群需要部署metallb-system,如果没有可以使用NodePort方式,访问ip+端口即可
clusertIP只能在集群内访问,所以改为loadbalancer或者NodePort
暴露ip,给集群外访问:
[root@k8s2 dashboard]# kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard
在这里插入图片描述
在这里插入图片描述

2.访问

访问:https://192.168.56.101
提供两种方式:token和证书方式
在这里插入图片描述
默认dashboard对集群没有操作授权,需要授权

授权
[root@k8s2 dashboard]# vim rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin                          ##集群管理员角色,内置的4种之一
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard                       ##绑定
  namespace: kubernetes-dashboard

[root@k8s2 dashboard]# kubectl apply -f rbac.yaml        ##如果不开启,功能很少

3.获取token

[root@k8s2 dashboard]# kubectl -n kubernetes-dashboard create token kubernetes-dashboard
在这里插入图片描述

4.通过web操作集群

使用token登录网页
在这里插入图片描述

5.补充:

Dashboard如果无法展示metrics-server的数据指标,可以通过以下两种方式解决:
1.修改dashboard-metrics-scraper 的Pod网络模式: hostNetwork: true
2.通过node或pod的亲和性设置,让dashboard-metrics-scraper和metrics-server的Pod处于同一个node节点。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: K8s Metrics Server是一个Kubernetes集群中的组件,用于收集和存储集群中各种资源的度量数据,例如CPU、内存、网络等。它可以提供实时的度量数据,帮助管理员和开发人员更好地了解集群的状态和性能,并进行优化和调整。 ### 回答2: k8s metrics-serverKubernetes的一个组件,它被设计用于收集集群内的性能指标。这些指标包括容器和节点的CPU使用率、内存使用量、网络I/O等等。利用这些指标,可以更好的了解集群中的资源使用情况,从而做出相应的资源分配和优化决策。 在Kubernetes中,集群管理员经常需要监控集群内部每个节点和容器的性能情况,这是为了确保应用程序在正确的资源调度下正常运行。为了监控这些性能指标,需要使用一些工具来帮助收集、分析和存储指标数据。而k8s metrics-server正是为此而设计的。 k8s metrics-server采用的是轻量级的部署模式,可以轻松地在Kubernetes集群中进行安装和配置。它具有以下优点: 1.快速部署:k8s metrics-server非常轻量,可以非常快速地部署到Kubernetes集群中。 2.高效:k8s metrics-server具有高效的数据收集和存储能力,能够实时地监控和收集节点和容器的性能指标。 3.可扩展:k8s metrics-server可以轻松地扩展到集群的规模,以便于更好地适应性能监控的需求。 总之,k8s metrics-serverKubernetes集群内必备的性能指标收集器,以便于运维和开发人员更好地了解集群的性能情况,保障应用程序的可靠性和高可用性。 ### 回答3: K8s Metrics Server是一个通过K8s的APIs来收集、聚合以及输出资源的使用情况的组件,主要用于扩展Kubernetes集群的监控及自动化调整容器资源。通过Metrics Server,用户可以查看当前K8s集群的完整资源使用情况,并能够在资源不足或者超量使用时自动调整容器资源K8s Metrics Server的基本原理是通过启动一个服务,并通过访问K8s各种组件的API endpoints来获取当前容器和集群资源使用状态。Metrics Server在收集到的数据中,主要包括CPU、memory以及network的使用率、请求流量、响应时间等信息。同时,可以基于这些数据来为Pods、Deployments、DaemonSets等对象提供水平自动扩容和增量调整的服务。 在K8s Metrics Server中,最重要的组件是Heapster,它作为Metrics Server的扩展组件,负责对收集到的所有的K8s集群的资源使用数据进行经过处理之后进行监控和分析。通过Heapster可以实现的监控和提醒,包括对Pods、Deployments、DaemonSets等对象的资源使用情况的监控,集群负荷的观察,容器状态的查询等。 总的来说,K8s Metrics ServerK8s设计的一个非常重要的组件,它能够帮助K8s构建一个可靠的、基于资源监控的自动化调整平台,为用户提供可靠、高效的容器资源调度服务。对于企业用户而言,K8s Metrics Server的使用不仅能够提升企业应用的稳定性和可靠性,也能够降低系统维护与调整的成本,提升效率和便捷性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值