Kubernetes 安裝Dashboard

在docker for mac上安裝kubernetes後,安裝dashboard

1.在 https://github.com/kubernetes/dashboard/releases 官網,找到對應的版本。本文使用2.0.1

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.1/aio/deploy/recommended.yaml

可能會出現raw.githubusercontent.com無法訪問的情況。可能是DNS污染,臨時解決方法是配置 /etc/hosts 文件

sudo vim /etc/hosts
151.101.76.133 raw.githubusercontent.com

2. 運行  kubectl get pods --namespace=kubernetes-dashboard -o wide  查看pod名稱,下面說明pod正在被創建

執行 kubectl describe pod  dashboard-metrics-scraper-b68468655-4cfdn --namespace=kubernetes-dashboard 查看創建過程

等一會,再次查看,發現已經在運行了

 

3.使用API Server 訪問

 kubectl proxy # 開啓本機訪問代理

這時候可通過 http://127.0.0.1:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login 地址訪問,注意namespace=kubernetes-dashboard/

4. 使用NodePort訪問

4.1 查看kubernetes-dashboard

kubectl --namespace=kubernetes-dashboard get service kubernetes-dashboard

4.2 編輯kubernetes-dashboard,將裏面的type: ClusterIP改爲type: NodePort即可

kubectl --namespace=kubernetes-dashboard edit service kubernetes-dashboard

4.3 wq保存即可。等一會兒,重新查看,就變爲NodePort了。

4.4 生成證書

Dashboard安裝完成,改爲NodePort形式之後,通過https://127.0.0.1:30304/訪問,會提示安全信息如下: 無法訪問了,需要生成證書

#新建目錄:
mkdir key && cd key

#生成證書
openssl genrsa -out dashboard.key 2048 

#部署的是docker for mac的kubernetes,配置如下。192.168.10.7是本機IP地址
openssl req -new -out dashboard.csr -key dashboard.key -subj '/CN=192.168.10.7'
openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt 

#刪除原有的證書secret
kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard

#創建新的證書secret
kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kubernetes-dashboard

#查看pod
kubectl get pod -n kubernetes-dashboard

#刪除pod,系統會自動啓動一個新的
kubectl delete pod kubernetes-dashboard-64999dbccd-lpq7k   -n kubernetes-dashboard

 

執行完成之後,再次訪問是這樣的

上圖點開高級之後,有個繼續前往的鏈接,點擊即可。

4.5 新建用戶獲取令牌

4.5.1新建用戶

新建文件(文件名隨意)admin-user.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

複製到admin-user.yaml文件後,執行:
kubectl create -f admin-user.yaml

4.5.2 綁定用戶關係

新建文件(文件名隨意)admin-user-role-binding.yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

複製到admin-user-role-binding.yaml文件後,執行:kubectl create -f admin-user-role-binding.yaml

如果過程中提示存在或者需要刪除,只需要kubectl delete -f 相應的yaml文件即可。

4.5.3 獲取令牌

按照官網提示的獲取token方法:

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

eyJhbGciOiJSUzI1NiIsImtpZCI6IlRZd1VXeDdjSmZJRW1keDZsQUVyMW12M24wZTF2WGU4Ul8wX09KTVpQcmcifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXNicWwyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIxMzFlM2E3MC1jZWI0LTQ5MWQtOGU2Zi1iMTA0NDMxMmU2OTEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.UqP8ale28OoMxlwpyBKCE95O5CIKQa3Z3FmNevl9x99CkUJCBGFsjtzt8dYxnEkF3R1FqcLAf7umjR1M931u94jsoI7OcOvFyV3jQeApLhlRBLdJ4wr5WcXROVxyJfDbpKvwGsPb6BiOMdXITAAksnjgXQVUcdLPgNaRFqFHh7OY10MMI8yHN31ZN1Ragh4j0n1lj8aiRruOS0c2iGy30MAjOhlvM9YSpv-ENVEMDkxxwVUg095SejWP3mnWzbfBDF0gNE5cJ9aEWwzUv-6f5q0lGxjA2YSABhfaK0lLPPRf3zHYtf7H37oJvsUvv1a5B52zVjOMU_2g13V4qAipRQ

4.5.4 輸入令牌打開頁面

輸入令牌後,點登入,就打開了首頁,如圖所示:

 

本文主要參考了

Web基礎配置篇(十七): Kubernetes dashboard安裝配置  

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章