本篇文章主要是介紹如何在本地部署kubernetes dashboard, 部署環境是mac m2
下載dashboard.yaml
官網release地址: kubernetes/dashboard/releases
本篇文章下載的是kubernetes-dashboard-v2.7.0的版本,通過wget命令下載到本地:
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
部署dashboard
修改recommended.yaml暴露nodeport
首先是要修改recommended.yaml中的service配置,將service端口通過nodeport的方式提供給kubernetes集群外部訪問。
kind: Service
apiVersion: v1
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
spec:type: NodePort #新增ports:- port: 443targetPort: 8443nodePort: 30443 #新增selector:k8s-app: kubernetes-dashboard
在集群中部署kubernetes dashboard
提交recommended.yaml文件進行kubernetes dashboard的安裝。
如果不能訪問容器鏡像不能下載的話,需要梯子或者將docker的鏡像源倉庫調整為國內的
執行命令:
kubectl apply -f recommended.yaml
創建用戶SA和Token
新增dashboard-admin.yaml文件,在其中添加dashboard-admin的ServiceAccount配置和ClusterRoleBinding配置。
apiVersion: v1
kind: ServiceAccount
metadata:labels:k8s-app: kubernetes-dashboardname: dashboard-adminnamespace: kubernetes-dashboard---apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: dashboard-admin-bind-cluster-rolelabels:k8s-app: kubernetes-dashboard
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- kind: ServiceAccountname: dashboard-adminnamespace: kubernetes-dashboard
執行kubectl apply -f 命令將dashboard-admin.yaml提交到集群
kubectl apply -f dashboard-admin.yaml
創建dashboard-admin的token
kubectl create token dashboard-admin -n kubernetes-dashboard
執行結果如下圖:
將token復制出來用來訪問kubernetes dashboard:
#參考
k8s Dashboard 2.7 使用EIP和多權限角色token的解決方案