k8s搭建监控:安装metrics server和dashboard


 

安装metrics server

参考:https://github.com/kubernetes-sigs/metrics-server

kubectl  create -f components.yaml(components.yaml文件和涉及的镜像,都从网盘下载)

或者自己官网下载:https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

 

kubectl get po -n kube-system -l k8s-app=metrics-server

查看node的监控数据:kubectl top node

查看pod的监控数据:kubectl top po -A

部署dashboard

官网:https://github.com/kubernetes/dashboard

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

可以先下载,mv recommended.yaml dashboard.yaml

创建一个管理员用户:dashboard-user.yaml

(dashboard-user.yam、dashboard.yaml文件和涉及的镜像,都从网盘下载)

kubectl  create -f dashboard-user.yaml

kubectl  create -f dashboard.yaml

kubectl get po -A

kubectl get svc -A

下面svc暴露的端口号是30028,type是NodePort,如果不是NodePort,需要修改

登录:https://192.168.117.173:30028/

如果不能访问,可以用火狐浏览器试试

master上获取token:

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') |grep token: |awk '{print $2}'

输入token后,登录成功

补充:dashboard可以用于做RBAC校验

RBAC是基于角色的访问控制(Role-Based Access Control)

ClusterRole:作用于整个集群,没有名称空间限制

ClusterRoleBingding:权限绑定到User、Group、ServiceAccount,对整个集群都有权限

Role:作用于名称空间,只能对指定名称空间的资源做操作

RoleBinding:权限绑定到指定名称空间下:可以绑定到User、Group、ServiceAccount,对指定名称空间有权限

相关