一、準備工作
在進行k8sDashboard安裝之前,我們需要先準備好以下工具和環境:
1、已安裝好Kubernetes集群
2、kubectl客戶端工具
3、管理員許可權的賬號訪問集群
二、使用kubectl安裝
1、通過kubectl創建官方dashboard.yml文件:
curl -Lo kubernetes-dashboard.yml https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
2、kubectl安裝Dashboard
kubectl apply -f kubernetes-dashboard.yml
需要注意的是,以上安裝過程默認把Dashboard服務暴露到集群內的一個IP與埠上,但是此時該埠無法通過外網訪問。
三、為Dashboard配置NodePort服務
為了使得Dashboard服務能夠被外網訪問,我們需要進行NodePort的設置。
1、找到Kubernetes儀錶盤對應的Service
kubectl get services -n kubernetes-dashboard
2、編輯新服務
kubectl edit service kubernetes-dashboard -n kubernetes-dashboard
3、將新服務類型設置為NodePort
apiVersion: v1 kind: Service metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboard spec: externalTrafficPolicy: Cluster ports: - port: 80 protocol: TCP targetPort: 9090 nodePort: 30000 #這個埠可以根據實際情況進行修改 selector: k8s-app: kubernetes-dashboard sessionAffinity: None type: NodePort
4、可以通過以下命令查看服務的類型和對外暴露埠:
kubectl describe service kubernetes-dashboard -n kubernetes-dashboard
四、登錄Dashboard
1、獲取Token
kubectl -n kube-system describe secret \$(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
2、啟動代理
kubectl proxy
3、打開瀏覽器,訪問地址:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
4、輸入Token後登錄Dashboard。
五、安全性注意事項
1、Dashboard默認會生成一個帶有Admin許可權的ServiceAccount,需慎重使用。
2、Dashboard開啟了對於所有用戶的匿名訪問許可權,需要考慮安全問題。
3、建議通過Ingress或VPN等方式進行訪問,而非直接暴露NodePort服務埠。
六、總結
本文針對k8sDashboard安裝做了完整的闡述,包括安裝前的準備工作,kubectl安裝,NodePort配置,登錄Dashboard,安全性注意事項等內容。希望對您的使用有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/154918.html