概述
目录
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中公开它们, 以供Horizontal 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)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复