382 字
2 分钟
kubernetes之如何创建dashboard可视化管理界面
kubernetes之如何创建dashboard可视化管理界面
deploy kubernetes-dashboard
kubectl apply -f https://raw.githubusercontent.com/AliyunContainerService/k8s-for-docker-desktop/master/kubernetes-dashboard.yaml这个文件是 denverdino/k8s-for-docker-desktop 项目中的一个核心配置文件。它的主要作用是帮助国内用户快速部署 Kubernetes Dashboard,核心价值是解决了官方镜像因网络问题无法下载的痛点。
创建管理员账号
kubectl create serviceaccount admin-user -n kubernetes-dashboardkubectl create clusterrolebinding admin-user-binding --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:admin-user获取登录令牌
kubectl -n kubernetes-dashboard create token admin-user终端会生成类似的输出
PS C:\Users\Rise> kubectl -n kubernetes-dashboard create token admin-usereyJhbGciOiJSUzI1NiIsImtpZCI6Imdfb05rUkhmVjlyLTFwNWIzcUJHci1HZ2lXWXlLTDZoV0FwelJXaWI3SDAifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzgxNDA0OTM3LCJpYXQiOjE3ODE0MDEzMzcsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwianRpIjoiNmIwYTlmMWUtNzUwZS00MTY4LWExYWQtYzQ1N2NhZjY4MWU0Iiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiN2IxYzQyMGQtM2NlYS00ZTU5LWJlZTYtZTQ5YTk5NjJlOWNlIn19LCJuYmYiOjE3ODE0MDEzMzcsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDphZG1pbi11c2VyIn0.rKqnpMk_NU4TQ5Tt6SMZIzIMgVNpweBPApjBt1tJfDo7lL2NaZGY6U3bcjrNX4Pyjd8H-1hvy8tK7oCyVw9ZvcGjzzRyIMfNbhDx-ti6iKMzpJmexoRCsw5x5tMOF9tVaHaUM9EYPUnsVkkmgRAbJjKM8DapyCv8gJE4YQ8TxDt70PzZIukf58d0P5iUMSRt76VTZf_FdNsYZLOcaAjofCy3sS_8JAlIGittUV5bTfDfdP3YE8X5MsMpx2PyywIHNi1zC7NpT9PhbwVjVV18YGSbogKPkVPGRCVaMDWkUx6877e9Nfs5zqRNqitZhxO44cZXb842rORht9yWlervGA用本地代理访问
kubectl proxy命令输出会打印类似:
PS C:\Users\Rise> kubectl proxyStarting to serve on 127.0.0.1:8001直接浏览器访问http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/即可
为了更方便地访问,使用NodePort形式
每次都要开启代理,非常麻烦,可以将dashboard的服务类型改变NodePort,这样就不用每次都执行 kubectl proxy 了。
编辑dashboard服务(docker k8s下这方法是失败的)
kubectl -n kubernetes-dashboard edit service kubernetes-dashboard程序会立即打印一个编辑器,将 type: ClusterIP改为 type: NodePort,并退出编辑器

命令会监测到你退出了编辑,并读取你的修改内存,重新部署pod
PS C:\Users\Rise> kubectl -n kubernetes-dashboard edit service kubernetes-dashboardservice/kubernetes-dashboard edited查看随机端口
kubectl get svc -n kubernetes-dashboard会输出:
PS C:\Users\Rise> kubectl get svc -n kubernetes-dashboardNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEdashboard-metrics-scraper ClusterIP 10.96.168.243 <none> 8000/TCP 175mkubernetes-dashboard NodePort 10.96.127.12 <none> 443:30569/TCP 175m选择Type为NodePort的IP和443在浏览器访问
注意: docker k8s下这方法是失败的,似乎是docker中k8s和宿主机可能网络代理原因
kubernetes之如何创建dashboard可视化管理界面
https://iszengmh.pages.dev/posts/kubernetes之如何创建dashboard可视化管理界面/