概述
文章目录
- 一、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 可视化监控所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复