📜  Kubernetes-仪表板设置(1)

📅  最后修改于: 2023-12-03 14:43:43.268000             🧑  作者: Mango

Kubernetes 仪表板设置

Kubernetes 仪表板 (Dashboard) 是 Kubernetes 集群的一个 Web 界面,它提供了对集群的状态和操作的可视化界面。在使用 Kubernetes 时,仪表板是非常有用的,它可以让你方便地查看 Kubernetes 集群的资源使用情况、Pod 状态等信息,也可以轻松地进行一些操作,例如创建 Deployment、查看 Pod 日志等。

安装 Kubernetes 仪表板
  1. 首先,需要安装 Kubernetes 集群。可以使用 minikubekubeadm 来安装 Kubernetes 集群。本文以使用 minikube 为例。

  2. 安装 Kubernetes 仪表板。可以使用以下命令来安装:

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

    这个命令会在集群中部署仪表板所需的服务和组件。在安装完成后,可以使用以下命令查看仪表板的 Pod 是否运行正常:

    kubectl get pods -n kubernetes-dashboard
    

    输出应该类似于以下内容:

    NAME                                        READY   STATUS    RESTARTS   AGE
    dashboard-metrics-scraper-xxxxxxxxx-xxxxx   1/1     Running   0          xxm
    kubernetes-dashboard-xxxxxxxxx-xxxxx        1/1     Running   0          xxm
    
  3. 创建代理。由于仪表板只能通过 Kubernetes 集群中的 NodePort 或者通过代理访问,在本地访问仪表板需要先创建代理。可以使用以下命令创建代理:

    kubectl proxy
    

    这个命令将创建一个代理,使得可以在本地访问 Kubernetes API 和仪表板。如果代理成功启动,可以在浏览器中访问以下 URL 查看仪表板:

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

    这个 URL 应该会跳转到登录页面。

  4. 登录仪表板。由于仪表板暴露在公网上可能存在的安全风险,登录仪表板需要提供身份验证。可以使用以下方法登录:

    • **Token 登录:**在登录页面选择“Token”,然后使用以下命令获取 Token:

      kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep service-controller-token | awk '{print $1}') | grep "token:" | awk '{print $2}'
      

      这个命令将输出一个长字符串,这就是 Token。将 Token 复制到登录页面的“Token”输入框中,即可登录仪表板。

    • **Kubernetes configuration 文件登录:**在登录页面选择“Kubernetes configuration 文件”,然后选择 kubeconfig 配置文件,即可登录仪表板。

使用 Kubernetes 仪表板

登录仪表板后,可以看到 Kubernetes 集群中的资源使用情况、Pod 状态等信息。可以使用仪表板来方便地进行一些操作,例如:

  • **查看 Pod 日志:**在“Pods”页面选择要查看的 Pod,然后点击“LOGS”按钮即可查看该 Pod 的日志。

  • **创建 Deployment:**在“Deployments”页面点击“CREATE”按钮即可创建 Deployment。

  • **查看服务:**在“Services”页面查看 Kubernetes 集群中的服务列表。

  • **创建应用:**在“Applications”页面可以创建一个新的应用。

此外,仪表板还提供了节点、命名空间、事件等更多的管理功能,可以根据需要进行使用。