Kubernetes Dashboard是Kubernetes提供的Web用户界面,通过Dashboard我们可以将容器化的应用部署到Kubernetes集群中,对容器化的应用进行故障排除以及集群资源管理;可以通过Dashboard查看集群应用详情,创建或修改单个Kubernetes资源(例如Deployments,Jobs,DaemonSets等)。
安装Dashboard
上节我们搭建的Kubernetes集群版本为1.16.2,截至目前为止,与该版本对应的Dashboard版本为v2.0.0-beta5,可以通过https://github.com/kubernetes/dashboard/releases查看:
下载该版本的Dashboard yaml文件:
1 | wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml |
修改该配置文件:
1 | vim recommended.yaml |
修改的内容如下图所示:
接着创建证书:
1 | mkdir dashboard-certs |
然后执行kubectl create -f ../recommended.yaml
命令安装Dashboard。
使用kubectl get service -n kubernetes-dashboard -o wide
命令查看是否部署成功:
创建账号与授权
Dashboard部署好后,接着创建账号:
1 | vim dashboard-admin.yaml |
内容如下所示:
1 | apiVersion: v1 |
创建该账号:
1 | kubectl create -f dashboard-admin.yaml |
账号创建好后,接着为其授权:
1 | vim dashboard-admin-bind-cluster-role.yaml |
内容如下所示:
1 | apiVersion: rbac.authorization.k8s.io/v1 |
授权:
1 | kubectl create -f dashboard-admin-bind-cluster-role.yaml |
访问Dashboard
使用浏览器访问https://192.168.33.12:30008/#/login:
选择Token,Token的值可以用下面的命令获取:
1 | kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep dashboard-admin | awk '{print $1}') |
复制该Token到Dashboard:
点击Sign In:
安装Metrics Service
上面Dashboard的CPU Usage (cores)和Memory Usage (bytes)列是空的,这是因为Kubernetes的早期版本依靠Heapster来实现完整的性能数据采集和监控功能,Kubernetes从1.8版本开始,性能数据开始以Metrics API的方式提供标准化接口,并且从1.10版本开始将Heapster替换为Metrics Server。
首先在master节点上安装git:
1 | yum install git |
然后克隆Metrics Server GitHub仓库:
1 | git clone https://github.com/kubernetes-sigs/metrics-server.git |
修改metrics-server-deployment.yaml:
1 | vim metrics-server/deploy/1.8+/metrics-server-deployment.yaml |
修改内容如下图所示:
1 | ...... |
因为默认metrics service的镜像地址需要科学上网才能拉取,所以在创建之前,我们在node1和node2节点先执行以下操作准备镜像:
1 | docker pull bluersw/metrics-server-amd64:v0.3.6 |
然后回到master节点,执行:
1 | kubectl create -f metrics-server/deploy/1.8+/ |
稍等片刻,然后执行kubectl top nodes
便可以看到每个节点的CPU和内存使用率了:
回到Dashboard: