我是靠谱客的博主 体贴月光,最近开发中收集的这篇文章主要介绍【Linux39-17】k8s容器资源监控(Metrics-Server部署、Dashboard可视化web界面部署)一、metrics-server二、Dashboard 可视化监控,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 一、metrics-server
    • 1.1 简介
    • 1.2 部署
    • 1.3 查看监控结果
  • 二、Dashboard 可视化监控
    • 1.1 简介
    • 1.2 部署
    • 2.3 监控测试
    • 2.4 创建与修改资源测试


一、metrics-server


1.1 简介


【Metrics-server详情:https://github.com/kubernetes-sigs/metrics-server】

Metrics-Server是集群核心监控数据的聚合器,用来替换之前的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 获取数据

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等组件来完成。

Metrics Server提供:

  • 适用于大多数群集的单个部署(请参阅要求)
  • 可扩展支持多达5,000个节点集群
  • 资源效率:Metrics Server使用1m核心CPU和每个节点3 MB内存

1.2 部署


准备工作:

1)下载部署文件:

wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
修改部署文件的镜像为:image: metrics-server:0.4.2

2)拉取镜像到Harbor仓库并上传:

docker pull bitnami/metrics-server:0.4.2
docker push zy.westos.org/library/metrics-server:0.4.2

解决X509报错,证书问题:

1)执行部署文件,发现 metrics-server 已经 Running,但是一直不 Ready

在这里插入图片描述

2)查看pod详情,发现是x509证书问题

在这里插入图片描述

3)修改所有节点的配置文件启用证书并重启服务:

1.添加内容到配置文件:/var/lib/kubelet/config.yaml
serverTLSBootstrap: true

2.重启
systemctl restart kubelet

3.所有节点重启后能看到有三个CSR证书,处于Pending状态

在这里插入图片描述

4)签发证书,完成后状态变为 Approved,Issued

kubectl certificate approve 证书名称

在这里插入图片描述

5)这时看到pod也已经准备就绪,svc也正常
在这里插入图片描述在这里插入图片描述在这里插入图片描述

1.3 查看监控结果


1)部署成功可以看到信息

kubectl get --raw "/apis/metrics.k8s.io/v1beta1/nodes/server2"

在这里插入图片描述

2)监控节点

kubectl top node 

在这里插入图片描述

3)监控pod

kubectl top pod

在这里插入图片描述


二、Dashboard 可视化监控


1.1 简介


【网址:https://github.com/kubernetes/dashboard】

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

1.2 部署


准备工作:

1)下载部署文件:

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

在这里插入图片描述
在这里插入图片描述

2)拉取镜像到Harbor仓库并上传:

  • 镜像1:kubernetesui/dashboard:v2.2.0
  • 镜像2:kubernetesui/metrics-scraper:v1.0.6
1.在Harbor仓库新建公开项目:kubernetesui

2.拉取镜像到Harbor仓库
docker pull kubernetesui/dashboard:v2.2.0
docker pull kubernetesui/metrics-scraper:v1.0.6

3.上传
docker push zy.westos.org/kubernetesui/dashboard:v2.2.0
docker push zy.westos.org/kubernetesui/metrics-scraper:v1.0.6

执行部署文件:

1)部署
在这里插入图片描述

2)查看信息(发现自建了命名空间、服务、pod等)

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

修改为NodePort方式:以便外部访问

在这里插入图片描述

查看映射端口: 从上图得知端口 443 映射到 30971

获取token: 在访问web界面时需要输入token

kubectl -n kubernetes-dashboard describe secrets kubernetes-dashboard-token-srbdc 

在这里插入图片描述

授权: 默认dashboard对集群没有操作权限,需要授权

1)在没有授权的时候登陆可能会有报错消息(无操作权限)

在这里插入图片描述

2)RBAC授权

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard

在这里插入图片描述

3)再次访问就不会报错
在这里插入图片描述

浏览器访问:https://192.168.17.2:30971

输入token
在这里插入图片描述

2.3 监控测试


可以监控很多信息

在这里插入图片描述

2.4 创建与修改资源测试


Dashboard不仅可以监控,也可以创建pod等资源,有多种创建方式,也可以修改以前创建的资源!

在这里插入图片描述在这里插入图片描述在这里插入图片描述

最后

以上就是体贴月光为你收集整理的【Linux39-17】k8s容器资源监控(Metrics-Server部署、Dashboard可视化web界面部署)一、metrics-server二、Dashboard 可视化监控的全部内容,希望文章能够帮你解决【Linux39-17】k8s容器资源监控(Metrics-Server部署、Dashboard可视化web界面部署)一、metrics-server二、Dashboard 可视化监控所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部