Kubernetes 仪表盘

管理Kubernetes资源的更好方法。

Kubernetes仪表盘是什么?

Kubernetes Dashboard是一个基于Web的用户界面,用于可视化Kubernetes集群。它显示Kubernetes集群的详细信息,包括集群中的节点、命名空间、卷、集群角色、作业详情等等。您可以通过Kubernetes仪表盘仅需点击几下即可部署一个容器化应用,并轻松管理所有集群资源。

先决条件

在设置Kubernetes仪表盘之前,您必须拥有一个运行中的Kubernetes集群。阅读本文以了解 how to set up Kubernetes

部署Kubernetes仪表盘

在主节点上运行下面的kubectl命令来部署Kubernetes仪表盘。

yaoweibin@kubernetes-master:~$ sudo kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created

现在您可以看到仪表盘Pod正在运行状态。

yaoweibin@kubernetes-master:~$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-6955765f44-hwxdq 1/1 Running 0 6m35s
kube-system coredns-6955765f44-z2tdg 1/1 Running 0 6m35s
kube-system etcd-kubernetes-master 1/1 Running 0 6m45s
kube-system kube-apiserver-kubernetes-master 1/1 Running 0 6m45s
kube-system kube-controller-manager-kubernetes-master 1/1 Running 0 6m45s
kube-system kube-proxy-4b5jz 1/1 Running 0 6m35s
kube-system kube-proxy-v26wn 1/1 Running 0 26s
kube-system kube-scheduler-kubernetes-master 1/1 Running 0 6m45s
kubernetes-dashboard dashboard-metrics-scraper-76585494d8-czrtf 1/1 Running 0 2m37s
kubernetes-dashboard kubernetes-dashboard-5996555fd8-5mhxm 1/1 Running 0 2m37s

访问Kubernetes仪表盘

运行下面的命令,访问位于192.168.0.107:8001(将此更改为您的IP)的Kubernetes仪表盘。

yaoweibin@kubernetes-master:~$ kubectl proxy --port=8001 --address='192.168.0.107' --accept-hosts="^*$"
Starting to serve on 192.168.0.107:8001

打开浏览器,转到下面的链接登录到Kubernetes仪表盘。

http://192.168.0.107:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login

这是登录到Kubernetes仪表盘的两种方法。

  • 令牌
  • kubeconfig

生成令牌登录

  • 在默认命名空间中,创建一个服务帐号。
yaoweibin@kubernetes-master:~$ kubectl create serviceaccount yaoweibin -n default
serviceaccount/yaoweibin created
  • 为新创建的服务帐户创建集群绑定规则。
yaoweibin@kubernetes-master:~$ kubectl create clusterrolebinding yaoweibin-admin -n default --clusterrole=cluster-admin --serviceaccount=default:yaoweibin
clusterrolebinding.rbac.authorization.k8s.io/yaoweibin-admin created
  • 运行下面的kubectl命令生成令牌

yaoweibin@kubernetes-master:~$ kubectl get secret $(kubectl get serviceaccount yaoweibin -o jsonpath=”{.secrets[0].name}”) -o jsonpath=”{.data.token}” | base64 –decode
eyJhbGciOiJSUzI1NiIsImtpZCI6ImZxeUhfd0ROdE1qOWxqcFhQODR2NDVFaTJSQU85VHhyUnRneVRCZzBJVUkifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImRhc2hib2FyZC10b2tlbi02ajhyNSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJkYXNoYm9hcmQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhNzBiNzZmZC1iMzI1LTRiNTUtYTc5YS0wZDRmNjAwNTI4MTAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpkYXNoYm9hcmQifQ.KtOGDMp_llQ1_V5OpJGsXzPlDkKw2y4y9TowlTH7WnU84LZHZLPar65cVOh20kPkRGJZmKkmkjuXKc1VcmBJQQCLSJgXb3G-7-OSC8LvC-3ROA0cjsGqDuFtXvA4bjlRJ1wGmAmaCgO8oeXVHqciEjw9wcH5tPRKGlvXAESmDlxH_rVu_TJpqSAb2pp3V0_fpD7VxU34mSfLEoMImixHbCILt0YGS9VyEJUgzcOdfj2ZvECOEbD_Y5LPLcTe0fkBJvwIiIgwxCttFRXktdExo7Z17WlekZJLcCBzRWTfrWte8Ugf6vfpN7IfJVWqQLpDZ9XtgHavpXXeJbp2FljIFw

您可以使用生成的令牌(如上所示)登录到仪表板。

kubeconfig

另一种登录方式是使用Kubernetes配置文件。

  • 选择Kubeconfig选项,然后单击“选择Kubeconfig文件”。
  • 使用位于$HOME/.kube/config/路径下的admin.conf文件,成功登录到仪表板

仪表板界面

这是仪表板界面的外观。

您可以查看运行在Kubernetes集群中的节点、持久卷、命名空间和集群角色的详细信息。

使用仪表板,您可以在编辑器中编写YAML代码,以添加新的资源到集群中。

一旦集群有多个作业在运行,您将获得更多的可视化选项。它会告诉您哪些作业失败或通过。如果集群有问题,您可以轻松地在仪表板中看到它。

类似文章