k8s的Dashboard


 前面章節 Kubernetes 所有的操作我們都是通過命令行工具  kubectl 完成的。為了提供更豐富的用戶體驗,Kubernetes 還開發了一個基於 Web 的 Dashboard,用戶可以用 Kubernetes Dashboard 部署容器化的應用、監控應用的狀態、執行故障排查任務以及管理 Kubernetes 各種資源。

在 Kubernetes Dashboard 中可以查看集群中應用的運行狀態,也能夠創建和修改各種 Kubernetes 資源,比如 Deployment、Job、DaemonSet 等。用戶可以 Scale Up/Down Deployment、執行 Rolling Update、重啟某個 Pod 或者通過向導部署新的應用。Dashboard 能顯示集群中各種資源的狀態以及日志信息。

可以說,Kubernetes Dashboard 提供了 kubectl 的絕大部分功能,大家可以根據情況進行選擇。

1.Dashboard安裝

Kubernetes 默認沒有部署 Dashboard,可通過如下命令安裝:

kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

Dashboard 會在 kube-system namespace 中創建自己的 Deployment 和 Service。

執行了配置半天pod起不來

查看日志

[root@k8s-master k8s]# kubectl describe pods --namespace=kube-system kubernetes-dashboard-77fd78f978-v6zcx 

不能科學上網導致鏡像pull失敗,那就在能下載鏡像的地方下載然后將鏡像改成需要的名字(所有節點都要執行)

[root@k8s-master k8s]# docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.0
v1.10.0: Pulling from mirrorgooglecontainers/kubernetes-dashboard-amd64
d66237a56abc: Pull complete 
Digest: sha256:e4b764fa9df0a30c467e7cec000920ea69dcc2ba8a9d0469ffbf1881a9614270
Status: Downloaded newer image for mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.0
[root@k8s-master k8s]# docker images|grep kubernetes-dashboard
mirrorgooglecontainers/kubernetes-dashboard-amd64   v1.10.0             0dab2435c100        2 months ago        122MB
[root@k8s-master k8s]# docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.0 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0
[root@k8s-master k8s]# docker rmi  mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.0 

 指定刪除重新apply一下配置

kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

 

 Dashboard 會在 kube-system namespace 中創建自己的 Deployment 和 Service。

因為 Service 是 ClusterIP 類型,為了方便使用,我們可通過 kubectl --namespace=kube-system edit service kubernetes-dashboard 修改成 NodePort 類型。

 保存修改,此時已經為 Service 分配了端口 31551。

創建rdbc授權文件kubernetes-dashboard-rbac.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
 
---
apiVersion: rbac.authorization.k8s.io/v1beta1
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
kubectl apply -f kubernetes-dashboard-rbac.yaml
#查看admin-user用戶token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
 
#復制token,在瀏覽器上選擇令牌方式
使用火狐瀏覽器,https://ip:port

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM