目錄
- 一、Dashboard 概述
- 二、GitHub 地址
- 三、Dashboard 部署安裝
- 1、選擇相容版本
- 2、下載配置檔案
- 3、新增 Dashboard 的Service型別
- 4、應用部署
- 5、檢視 kubernetes-dashboard 名稱空間下資源狀態
- 6、建立訪問賬戶
- 7、授權
- 8、獲取賬號token
- 9、1.24 版本以後的需要建立一個Pod
- 四、瀏覽器訪問Dashboard
- 1、輸入 token 登入
- 2、頁面
一、Dashboard 概述
Kubernetes Dashboard是一個Web UI,用於管理Kubernetes叢集中的應用程式和資源。它提供了一個視覺化的介面,可以方便地檢視和管理Kubernetes叢集中的各種資源,如Pod、Deployment、Service、ConfigMap等。Dashboard還提供了一些高階功能,如日誌檢視、資源監控、名稱空間管理等。
二、GitHub 地址
dashboard
三、Dashboard 部署安裝
1、選擇相容版本
由於之前升級 k8s 叢集至 1.23.16 所以這裡選擇 Dashboard v2.5.1
2、下載配置檔案
進入到master節點,下載dashboard對應版本的 recommended.yaml 檔案
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
3、新增 Dashboard 的Service型別
指定 Service 的型別為
NodePort
指定 NodePort Service 在每個節點上使用的埠號 (30000-32767 )
vim recommended.yaml
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: dashboard-metrics-scraper
name: dashboard-metrics-scraper
namespace: kubernetes-dashboard
spec:
type: NodePort #新增
ports:
- port: 8000
targetPort: 8000
nodePort: 32111 #新增
selector:
k8s-app: dashboard-metrics-scraper
4、應用部署
kubectl apply -f recommended.yaml
5、檢視 kubernetes-dashboard 名稱空間下資源狀態
kubectl get pods,svc -n kubernetes-dashboard
6、建立訪問賬戶
1.24 版本前的操作
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
7、授權
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
8、獲取賬號token
獲取 token 登入Dashboard
kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin
kubectl describe secrets dashboard-admin-token-qfz2z -n kubernetes-dashboard
9、1.24 版本以後的需要建立一個Pod
cat << EOF > pod1.yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: pod1
name: pod1
namespace: kubernetes-dashboard
spec:
terminationGracePeriodSeconds: 0
serviceAccount: dashboard-admin
containers:
- image: nginx
imagePullPolicy: IfNotPresent
name: pod1
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}
EOF
kubectl apply -f pod1.yaml
kubectl exec -it pod1 -n kubernetes-dashboard -- cat /run/secrets/kubernetes.io/serviceaccount/token
四、瀏覽器訪問Dashboard
遇到顯示 Your connection is not private 在頁面空白處英文輸入法輸入
thisisunsafe