我是靠谱客的博主 殷勤火车,最近开发中收集的这篇文章主要介绍kubernetes资源监控 (Metrics-Server) & Web 界面 (Dashboard) kubernetes资源监控 (Metrics-Server)Web 界面 (Dashboard),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

kubernetes资源监控 (Metrics-Server)

Web 界面 (Dashboard)


 

kubernetes资源监控 (Metrics-Server

安装教程及详情可参照官网在GitHub 的文档:https://github.com/kubernetes-sigs/metrics-server

Metrics Server是Kubernetes内置自动缩放管道的可扩展,高效的容器资源指标来源。

Metrics Server从Kubelet收集资源指标,并通过Metrics API在Kubernetes apiserver中公开它们, 以供Horizo​​ntal Pod Autoscaler和Vertical Pod Autoscaler使用。也可以通过访问Metrics API kubectl top,从而更轻松地调试自动缩放管道

注意:

Metrics-Server

主要监控 cpu, memory(node, pod)

pod 没有就绪时 , svc 是无法访问的。

 

# 从官网下载资源清单,根据资源清单所需的景象下载,上传到本地私有仓库,提高部署速度
wet https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.2/components.yaml
vim components.yaml 

# 推送资源清单
kubectl apply -f components.yaml 

# 查看是否运行,应该是会处于一直没有就绪
kubectl get pod -n kube-system 

# 查看日志,v0.4.2 一般遇到的问题是证书问题,x509 ....
kubectl logs -n kube-system metrics-server-7f9d59986d-x2jfp 

# 编辑主文件,解决证书问题,启用TLS Bootstrap 证书签发
vim /var/lib/kubelet/config.yaml 
    serverTLSBootstrap: true

# 修改配置文件后,需要重启,使之生效
systemctl restart kubelet.service 


# 人工批准
kubectl get csr
kubectl certificate approve csr-8jp8x
kubectl certificate approve csr-x88dw
kubectl certificate approve csr-zjzvx
kubectl get csr

# 重新查看应该已经就绪
kubectl get pod -n kube-system 

# 查看 kube-system 的 svc
kubectl -n kube-system get svc

# 查看 api 版本
kubectl api-versions

# 可以使用表示,部署成功
kubectl top node

 

示例截图:

 


Web 界面 (Dashboard)

Dashboard可以给用户提供一个可视化的 Web 界面来查看当前集群的各种信息。

Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源 (如 Deployment,Job,DaemonSet 等等)。 例如,你可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。

详情参照:https://kubernetes.io/zh/docs/tasks/access-application-cluster/web-ui-dashboard/

 

官方资源清单

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

查看资源清单部署的景象,拉取上传到私有仓库(提高部署速度)

# 查看里面所需镜像,并且 pull ,push
vim recommended.yaml 

# 推送
kubectl apply -f recommended.yaml 

# 会创建新的namespace
kubectl get ns

# 查看 kubernetes-dashboard 的 pod
kubectl get pod -n  kubernetes-dashboard 

# 查看 kubernetes-dashboard 的所有
kubectl get all -n  kubernetes-dashboard 

# 查看 kubernetes-dashboard 的 svc 的 kubernetes-dashboard 详情
kubectl -n kubernetes-dashboard  describe svc kubernetes-dashboard 

# 这里默认的 ClusterIp 的方式,改为NodePort 方式,暴露端口,方便集群外部访问
kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard 
    type: NodePort

# 重新查看是否已经 更改
kubectl -n kubernetes-dashboard  get svc

# 查看kubernetes-dashboard 的 serviceaccount
kubectl get sa -n kubernetes-dashboard 
kubectl -n kubernetes-dashboard describe sa kubernetes-dashboard

# 查看存放认证信息的 secrets 
kubectl -n kubernetes-dashboard get secrets 

# 获取 web 登录的 token
kubectl -n kubernetes-dashboard describe secrets  kubernetes-dashboard-token-ljzp2

# 默认是没有权限进行操作,web界面消息会报很多错误,这里将 Clusteradmin 与 应用的用户绑定在一起
vim rbac.yaml
kubectl apply -f rbac.yaml
#   rbac.yaml
#  使用 ClusterRoleBinding 方式 将 cluster-admin 和 kubernetes-dashboard 绑定,授权,web 界面才有权限进行操作


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

 

示例截图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

最后

以上就是殷勤火车为你收集整理的kubernetes资源监控 (Metrics-Server) & Web 界面 (Dashboard) kubernetes资源监控 (Metrics-Server)Web 界面 (Dashboard)的全部内容,希望文章能够帮你解决kubernetes资源监控 (Metrics-Server) & Web 界面 (Dashboard) kubernetes资源监控 (Metrics-Server)Web 界面 (Dashboard)所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部