通过命令行方式管理 Kubernetes 集群不太直观,因此 Kubernetes 官方推出了 Kubernetes Dashboard 这一个 Web UI 工具方便我们执行管理集群相关的操作。

安装 Web UI

执行官方提供的一键脚本就可以安装 Kubernetes Dashboard 了:

1
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml

此时由于 Dashboard 是部署在集群内部的,外部无法直接访问,需要执行 kubectl proxy 来代理外部的流量到集群中,然后在机器上访问 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 就可以看到 Kubernetes Dashboard 了。

登录 Kubernetes Dashboard 的方法继续看下面的步骤。

创建 Service Account

为了能使 Kubernetes Dashboard 具有权限管理集群,需要首先给其创建一个具有管理员权限的 Service Account。

将下面的文件保存成一个 .yaml 文件后使用 kubectl apply -f xxx.yaml 来执行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system

---

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system

获取登录 Token

创建了管理员账号之后可以通过命令获取登录用的 Token,将其复制粘贴到 Dashboard 中就可以登录了。

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

登录后在侧边导航栏选择 kube-system 的 Namespace 就可以看到集群核心服务的运行情况了: