📜  docker 桌面 kubernetes 仪表板 (1)

📅  最后修改于: 2023-12-03 15:30:32.376000             🧑  作者: Mango

Docker 桌面 Kubernetes 仪表板

简介

Docker 桌面 Kubernetes 仪表板是针对 Kubernetes 集群的一款 UI 工具。该工具可以方便地管理 Kubernetes 集群的资源、监控状态和调解问题,是 Kubernetes 的一个很好的补充。

特点
  • 监控资源:通过 Kubernetes API 获取各种资源的详细信息,包括节点、Pod、Service 和 Deployment 等。
  • 交互式操作:支持在 UI 界面上进行操作,比如创建、删除和修改资源。
  • 调试工具:提供丰富的调试工具,包括事件追踪和日志查看等。
  • 可扩展性:支持安装和管理插件,以适应不同用户的需求。
安装
步骤 1:安装 Docker 桌面

由于 Docker 桌面 Kubernetes 仪表板是 Docker 桌面的一部分,因此需要先安装 Docker 桌面。具体安装步骤可以参考官方文档:https://www.docker.com/products/docker-desktop。

步骤 2:启用 Kubernetes

在 Docker 桌面设置中,点击 Kubernetes 选项卡,在“Kubernetes”选项下启用 Kubernetes。Docker 桌面将下载 Kubernetes 组件,并将其配置为单节点集群。

步骤 3:安装 Kubernetes 仪表板

在 Docker 桌面中,打开终端并输入以下命令:

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

该命令将从 GitHub 上下载 Kubernetes 仪表板的 YAML 文件,然后使用 kubectl 工具将其安装到 Kubernetes 集群中。

步骤 4:启动 Kubernetes 仪表板

在终端中输入以下命令:

kubectl proxy

该命令将启动一个本地代理服务器,可以让我们通过浏览器访问 Kubernetes 仪表板。

步骤 5:登录 Kubernetes 仪表板

打开浏览器并访问以下 URL:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

该 URL 将通过我们在步骤 4 中启动的代理服务器,将我们的浏览器连接到 Kubernetes 仪表板。首次登录需要进行身份验证,我们可以使用以下命令创建一个带有集群角色的服务账号:

kubectl apply -f - <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
EOF

然后将该服务账号添加到 cluster-admin 的角色中:

kubectl apply -f - <<EOF
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: kubernetes-dashboard
EOF

最后可以通过以下命令获取访问 Kubernetes 仪表板的授权 Token:

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

复制该 Token,并在登录界面中粘贴该 Token,即可成功登录 Kubernetes 仪表板。

总结

Docker 桌面 Kubernetes 仪表板是一款强大的 Kubernetes 管理工具,具备丰富的特性和可扩展性。安装和使用该工具相对简单,可以方便地对 Kubernetes 集群进行管理和调试。