通过命令行方式管理 Kubernetes 集群不太直观,因此 Kubernetes 官方推出了 Kubernetes Dashboard 这一个 Web UI 工具方便我们执行管理集群相关的操作。
安装 Web UI
执行官方提供的一键脚本就可以安装 Kubernetes Dashboard 了:
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
来执行:
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 中就可以登录了。
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
登录后在侧边导航栏选择 kube-system
的 Namespace 就可以看到集群核心服务的运行情况了: