K8S-1.16.9 部署 dashboard 出現 404 NOT FOUND 以及無法訪問網頁的問題


K8S-1.16.9 部署 dashboard 出現 404 NOT FOUND 以及無法訪問網頁的問題

 

 

問題解決思路

最近由於工作需要我又重新部署了一遍 K8S,這次我使用了最新版本 1.16.2 來部署。
剛開始都順風順水,最后節點起來了,我想把儀表盤給裝了,結果就出問題了。
首先是發現創建完用戶登錄進去后出現 404 NOT FOUND,請求的資源尚未找到,錯誤截圖如下:
1.png


於是我去官方的 dashboard 的 issue 尋找答案,我在官方 issue 里發現有一些人遇到和我一樣的問題,是因為現在官方的 dashboard 的 YAML 文件已經升級到了 2.X 版本,很多人拿着 1.X 的版本部署 dashboard 導致和 1.16.2 版本的 K8S 出現不兼容現象(ps: 官方主頁更新真慢)。

 

於是我根據官方的給出的教程,我部署了官方最新的 dashboard yaml 文件,並且 pod 和 service 都是處於 running 狀態。
接着我跟着以下步驟:

 

IMPORTANT: Read the Access Control guide before performing any further steps. The default Dashboard deployment contains a minimal set of RBAC privileges needed to run.

$ kubectl proxy

Now access Dashboard at:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/.

然而不幸的是還是無法訪問 dashboard 界面,甚至連登錄界面都進不了了。
issue 里有許多人都和我一樣的情況,然而其他人給了好多意見,但是還是無法有效解決,而且官方匆匆把這些 issue 給關閉了(攤手)。

最后我通過在群里詢問,有一位大佬給出意見叫我把 dashboard 通過 nodeport 的方式進行訪問才解決問題。
具體如下:
記得填添加 admin 用戶:

kubectl create -f admin.yaml 
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding 
metadata: 
  name: admin-user
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system

已經創建好的 admin.yaml:
admin.zip

首先修改官方的 2.X 版本的 YAML,在這個地方修改加粗部分,添加 nodeport 部分:

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30000
  selector:
    k8s-app: kubernetes-dashboard
  type: NodePort
---

這是一份改好的 danshboard YAML 文件:
recommended.zip

然后我們重新部署 dashboard,接着重新訪問,發現可以成功登錄且能夠查看 pod:
2.png

728 x 3941920 x 1040

 

哎 就這么坑爹:(


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM