逐步輕鬆搞定K8S在Docker Desktop上的安裝
阿新 • • 發佈:2022-05-20
一、前提條件
- 本文基於Win 10作業系統,
- Git已在本機安裝,
- 在Docker Desktop for Window安裝啟動後執行的。
如還沒安裝,可以從Docker 官方網站下載Docker for windows,安裝比較簡單,這裡不贅述了~。
二、docker配置國內映象
為了提升映象拉取速度,在Docker 設定裡,配置Docker Engine國內的倉庫地址:
{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "debug": false, "experimental": false, "features": { "buildkit": true }, "insecure-registries": [], "registry-mirrors": [ "https://xxxxx.mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com" ] }View Code
二、Kubernetes映象拉取
從GitHub上拉取Images到本機資料夾中:
git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
三、Kubernetes映象安裝
進入下載目錄,執行load_images.ps1指令碼:
cd k8s-for-docker-desktop
.\load_images.ps1
四、啟動Kubernetes
在Docker面板上的Settings裡,切到Kubernetes上啟動Kubernetes
五、安裝k8s管理頁面Dashboard
進入下載目錄下,執行
kubectl create -f kubernetes-dashboard.yaml
檢視Dashboard映象狀態
kubectl get pods --all-namespaces
六、訪問k8s Dashboard
使用命令,啟動K8s Server,
kubectl proxy ##或者 nohup kubectl proxy >/dev/null &
訪問地址
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
七、選擇Token認證方式登入
生成Token:
##授權`kube-system`預設服務賬號 kubectl apply -f kube-system-default.yaml ##生成Token $TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1] kubectl config set-credentials docker-desktop --token="${TOKEN}" echo $TOKEN
複製Token貼上到瀏覽器輸入框中,點選登入即可跳轉到Dashboard頁面:
八、配置服務賬號訪問許可權
建立服務賬號
##命令 New-Item admin-user.yaml ##內容如下 apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard ##建立 kubectl create -f admin-user.yamlView Code
繫結賬號角色
##命令 New-Item admin-user-role-binding.yaml ##內容如下 apiVersion: rbac.authorization.k8s.io/v1beta1 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 ##建立 kubectl create -f admin-user-role-binding.yamlView Code
獲取賬號Token
$ kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
收工!