文章目錄
使用 Kubespray 開啟 Kubernetes Dashboard
前同事問到 Kubernetes Dashboard 安裝的問題,這才發現我只用過別人裝好的,自己沒有真的裝過 XD,趁著假日時間紀錄一下囉
Kubernetes Dashboard 是 Kubernetes 官方製作用來管理 Kubernetes clusters 的 web-base UI 工具
基本環境說明
以下 VM 透過 Azure 建立
CentOS 7.6 * 3
- Standard B2ms
- 2 vcpus, 8 GiB memory
- 200 GB Standard SSD
VM 配置說明
請確保各個 node 間可以透過 host name 連線
Name IP 用途 node1 10.0.0.4 ansible-client,master,etcd node2 10.0.0.5 node,etcd node3 10.0.0.6 node,etcd Kubespray 2.10
Kubernetes 1.14.3
安裝 Kubernetes Dashboard
透過 kubespray 安裝 Kubernetes Dashboard 非常簡單,而且預設就會執行安裝
確認是否啟用安裝
檢查
kubespray/inventory/k8s/group_vars/k8s-cluster/addons.yml
中的dashboard_enabled
設定是否為true
檢查是否已成功安裝
kubectl -n kube-system get service kubernetes-dashboard
修改 Kubernetes Dashboard service 設定
kubectl -n kube-system edit service kubernetes-dashboard
- 指定 nodePort
- 將 type 由 ClusterIP 改為 NodePort
修改前
修改後
開啟
https://node1:30710
即可出現登入畫面
設定 Kubernetes Dashboard 登入資訊
畫面上可以使用
kubeconfig
或是token
登入,以下使用token
示範囉 (我承認kubeconfig
太複雜,我搞不定XD)
建立 admin-role.yaml
建立
admin
為管理者kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: admin annotations: rbac.authorization.kubernetes.io/autoupdate: "true" roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount name: admin namespace: kube-system --- apiVersion: v1 kind: ServiceAccount metadata: name: admin namespace: kube-system labels: kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile
建立 Service Account 與角色綁定
kubectl create -f admin-role.yaml
取得 admin-token 的 secret 名字
kubectl -n kube-system get secret|grep admin-token
取得 token
admin-token-h2dxb
是上一個步驟的結果,每次建立都會不同,記得替換kubectl -n kube-system get secret admin-token-h2dxb -o jsonpath={.data.token}|base64 -d
以下語法可以看到 secret 較多資訊
kubectl -n kube-system describe secret admin-token-h2dxb
成功登入
心得
透過 Kubespray 原則上沒有安裝的問題,預設就啟用了 Kubernetes Dashboard 的安裝,只要 Kubernetes 安裝成功,Kubernetes Dashboard 就會部署成功,我個人覺得登入的相關設定反而還比較困難些 XD
參考資訊
文章作者 Yowko Tsai
上次更新 2021-11-02
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。