简介
Kubernetes Dashboard
是 Kubernetes
的官方 Web UI。使用 Kubernetes Dashboard,您可以:
- 向 Kubernetes 集群部署容器化应用
- 诊断容器化应用的问题
- 管理集群的资源
- 查看集群上所运行的应用程序
- 创建、修改Kubernetes 上的资源(例如 Deployment、Job、DaemonSet等)
- 展示集群上发生的错误
例如:您可以伸缩一个 Deployment、执行滚动更新、重启一个 Pod 或部署一个新的应用程序
以上文字翻译自 Kubernetes 官方文档。Kuboard 的定位和 Dashboard 是相似的,主要的区别 在于:
- Kuboard 关注微服务参考架构的视角对界面进行组织,参考 Kuboard 简介
- Kuboard 中,不需要手工编写 YAML 文件,进一步降低 K8S 使用难度,提高便捷性
- Kuboard 可以导出整个微服务架构的部署信息,并在新的名称空间/集群导入配置信息
- Kuboard 的一个发展方向是,提供内建的 监控套件(目前的全局监控套件成熟度比较高)
为了帮助大家选择适合自己的工具,本文将详细描述如何在 Kubernetes 集群中安装 Kubernetes Dashboard。
#安装
执行如下命令,以安装 Kubernetes Dashboard
1 | kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml |
如果访问不了该 yaml 文件,请使用下面的命令,效果是等价的
1 | kubectl apply -f https://kuboard.cn/install-script/k8s-dashboard/v2.0.0-beta5.yaml |
访问
Kubernetes Dashboard 当前,只支持使用 Bearer Token登录。 由于 Kubernetes Dashboard 默认部署时,只配置了最低权限的 RBAC。因此,我们要创建一个名为 admin-user
的 ServiceAccount,再创建一个 ClusterRolebinding,将其绑定到 Kubernetes 集群中默认初始化的 cluster-admin
这个 ClusterRole。
更多关于权限管理的信息,请参考 Using RBAC Authorization
创建 Service Account 和 ClusterRoleBinding
使用
kubeadm
安装集群时,默认创建了 ClusterRolecluster-admin
。此时我们可以直接为刚才的 ServiceAccount 创建 ClusterRoleBinding。
1 | apiVersion: v1 |
执行如下命令可创建 ServiceAccount 和 ClusterRoleBinding
1 | kubectl apply -f https://kuboard.cn/install-script/k8s-dashboard/auth.yaml |
- 获取Bearer Token
执行命令:
1 | kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}') |
输出信息如下所示:
1 | Name: admin-user-token-v57nw |
执行
kubectl proxy
命令您必须能够在自己的笔记本(工作电脑)上运行 kubectl 并访问您的集群。可参考文档 安装Kubectl
访问路径:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
我曾经尝试过将 kubernetes-dashboard 的访问当时修改为 nodePort 的访问,但是一直未能成功,如果有朋友解决了此问题,请告知我一下。
将上一个步骤中获得的 Token 输入到登录界面中,点击 Sign in 按钮,完成登录
登录成功后,界面如下图所示:
🎉 🎉 🎉 Have Fun!