正常啓動會一直顯示 starting,無法啓動成功
主要是因爲啓動所需要的鏡像無法正常下載成功
下圖爲 k8s 所需要的鏡像
下載鏡像
將倉庫克隆下來:
git clone https://github.com/hummerstudio/k8s-docker-desktop-for-mac.git
然後看一下文件image_list
上的版本跟自己安裝的版本能不能對得上,建議直接更新Docker Desktop
爲最新版本。
cat image_list
沒有問題就可以執行腳本拉取相關鏡像
./load_images.sh
等待下載完成就可以了,然後 k8s 就可以正常啓動了
安裝Dashboard
host 增加
# Kubernetes
127.0.0.1 kubernetes.docker.internal
Dashboard
並不是必須的,它可以方便我們查看和操作,建議還是安裝。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml
啓用 Dashboard
kubectl proxy
kubectl 會使得 Dashboard 可以通過 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 訪問。
UI 只能 通過執行這條命令的機器進行訪問。更多選項參見 kubectl proxy --help
。
打開dashboard登錄界面如下,有一個“跳過”按鈕可以跳過登錄:
如果不想設置--enable-skip-login,想用token來登錄,那麼可以通過以下命令來獲取token
kubectl get secret -n kube-system | grep deployment-controller-token kubectl describe secret deployment-controller-token-8467t -n kube-system
或者輸入命令直接獲取 token
kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}'
將token複製到登錄框即可。
這種登錄方式,每次都需要輸入token,除非瀏覽器有緩存。
配置一個擁有完整權限的token
創建一個dashboard管理用戶
kubectl create serviceaccount dashboard-admin -n kube-system
綁定用戶爲集羣管理用戶
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
查看 token
kubectl describe -n=kube-system secret dashboard-admin
登錄後就可以看到具體的界面了
參考資料:
https://kubernetes.io/zh-cn/docs/tasks/access-application-cluster/web-ui-dashboard/
https://blog.wayneshao.com/posts/10324.html