Kubernetes Dashboard 的安裝過程比較曲折,拿起又放下,直到發現它的價值,必須要安裝成功。
1. 環境
虛擬機器:VMware
系統:Centos 7
Kubernetes:v1.18.0
Docker:19.03.12
Kubernetes Dashboard:v2.0.1
2. 準備
Kubernetes Dashboard 的每個版本可能會支援Kubernetes的不同版本,請根據Kubernetes的版本選擇Dashboard的版本。
1 ## kubernetes 版本號檢視命令 2 # kubectl version 3 ## docker 版本號檢視命令 4 # docker version
下載地址:https://github.com/kubernetes/dashboard/releases
PS:這裡提供我使用的版本(相關資訊都已經配置完成,可以直接跳過下一個步驟),v2.0.1:下載
3. 修改recommended.yaml檔案
官方檔案缺少或者需要修改部分資訊才能正常執行。
3.1 增加對於NodePort的支援(可選)
這樣釋出成功之後不需要執行kubectl proxy命令,可以直接採用Node IP+埠進行訪問
3.2 增加對於許可權的支援(可選)
3.3 叢集角色授權
修改叢集許可權(resources欄位描述是可以操作哪些資源,verbs欄位描述的是可以對資源進行哪些操作)
3.4 替換映象地址
映象地址改為國內映象地址(2處需要修改)
3.5 增加 dashboard-admin 賬戶
在檔案最後增加以下內容:
1 --- 2 3 # ------------------- dashboard-admin ------------------- # 4 apiVersion: v1 5 kind: ServiceAccount 6 metadata: 7 name: dashboard-admin 8 namespace: kubernetes-dashboard 9 --- 10 apiVersion: rbac.authorization.k8s.io/v1 11 kind: ClusterRoleBinding 12 metadata: 13 name: dashboard-admin 14 subjects: 15 - kind: ServiceAccount 16 name: dashboard-admin 17 namespace: kubernetes-dashboard 18 roleRef: 19 apiGroup: rbac.authorization.k8s.io 20 kind: ClusterRole 21 name: cluster-admin
4. 執行
在master節點,執行以下命令:
1 kubectl apply -f dashboard-recommended.yaml
執行成功之後,執行以下命令檢視登入所需要的Token
1 kubectl describe secret -n kubernetes-dashboard $(kubectl get secret -n kubernetes-dashboard |grep kubernetes-dashboard-token | awk '{print $1}') |grep token | awk '{print $2}'
PS:
如提示許可權不足,請修改 3.3 步驟中內容,增加對應的資源許可權即可。
5. 總結
- 官方的文件不一定就是完美的、適合你的、可以直接執行的,有的時候需要 “本地化” 改成適合自己的
- 排除一切可能(或假設),當僅剩下唯一的選項時,無論是多麼的不可思議它都是事實