Dashboard 是官方提供的一個UI,可用于基本管理K8s資源。
# 在master節點執行#
wget \
https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml
vi recommended.yaml
增加 nodePort: 30001 和 type: NodePort
......
spec:ports:- port: 443targetPort: 8443nodePort: 30001selector:k8s-app: kubernetes-dashboardtype: NodePort
......kubectl apply -f recommended.yaml
kubectl get pods -n kubernetes-dashboard如果順利,則可以訪問 https://192.168.15.81:30001
界面提示需要輸入 token,先不要輸入,因為還沒創建用戶,接下去我們創建用戶K8S有兩種用戶:User 和 Service Account,User 給人用,Service Account 給進程用,讓進程有相關權限,Dashboard 是一個進程,我們就可以創建一個Service Account 給它# 創建service account并綁定默認cluster-admin管理員集群角色:
# 創建用戶
kubectl create serviceaccount dashboard-admin -n kube-system
# 用戶授權
kubectl create clusterrolebinding dashboard-admin-binding --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin# kubernetes v1.24.0 更新之后進行創建 ServiceAccount 不會自動生成 Secret 需要對其手動創建
cat<<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:name: dashboard-adminannotations:kubernetes.io/service-account.name: "dashboard-admin"namespace: kube-system
EOF
# 查看token是否正確生成
kubectl describe serviceaccounts dashboard-admin -n kube-system
如果順利會出現下述輸出
...
Tokens: dashboard-admin
...# 獲取用戶Token
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')取得token后就可以使用token登錄Dashboard了
https://192.168.15.81:30001
安裝完dashborad,還需要安裝metrics組件,pod,node等才能看到cpu內存等使用量。
請參考我寫的另外一篇博客:
https://blog.csdn.net/weilaozongge/article/details/139267389?spm=1001.2014.3001.5502