
下面是經過踩坑之后的 windows10 單機部署 docker k8s 步驟,其中有幾處比較關鍵的地方需要注意,后面加粗標注,下面就開始吧!
0、下載cmder
在 windows 上有一個趁手的命令行工具非常有必要,推薦 Cmder,下面是下載地址:
https://cmder.net/
安裝完成后,一定要右鍵使用管理員權限打開,否則后續操作會失敗。
1、下載安裝配置docker
下載 docker.exe 安裝文件:
https://www.docker.com/get-started
下載完成后直接安裝,注意安裝完成后,右鍵使用管理員權限啟動。一定要使用管理員權限啟動,否則 k8s 無法啟動,啟動后不要開啟 k8s,否則會陷入無限等待當中,因為默認的源不可用(長城),只需要啟動docker即可。
在 docker 桌面小圖標上右鍵選擇 【About Docker Desktop】,會出現下面界面,記住自己的 k8s 版本,后面會用到,從圖中看到我的版本是 v1.16.5。

下面還是在 docker 桌面小圖標上右鍵選擇 【Dashboard】,進入下圖中的界面,然后填入如下內容,然后點擊【Apply & Restart】:
{

從上圖中可以看到,我的 k8s 已經處于啟動狀態,請暫時忽略。
下面開始重要的步驟。
2、下載必要的鏡像
注意,下面的所有操作都要在以管理員權限打開的命令行中執行
# 首先預先從阿里云 Docker 鏡像服務下載 k8s 所需要的鏡像:
git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git# 切換至對應自己安裝的 k8s 版本的分支
git checkout v1.16.5# 執行下面命令以允許腳本的執行
Set-ExecutionPolicy RemoteSigned# 然后執行命令開始下載 k8s 所需鏡像
.load_images.ps1
下圖是可以選擇的分支,找到和所安裝的 k8s 版本相同的分支即可。

完成上面的操作之后,在命令行輸入 docker images 應該可以看到下圖的鏡像列表中的一部分,只要自己的列表中 http://k8s.gcr.io 開頭的鏡像都存在即可。

3、啟動 k8s
在鏡像下載完成后,啟動 k8s 之前,還需要修改 hosts 文件,增加下面內容,否則會啟動失敗。
# 命令執行下面操作,注意這里用的命令行工具是 Cmder
# 如果使用 PowerShell 是沒有 vim 的,只能自己手動打開目錄修改文件
vim C:WindowsSystem32driversetchosts# 打開后,按下 i 符號進入編輯狀態另起一行,寫入下面內容
127.0.0.1 kubernetes.docker.internal# 接著按下 ESC 鍵進入 vim 命令行狀態,輸入 :qw! 保存退出即可
這個時候回到【Dashboard】界面,選中 Enable Kubernetes,然后應用。

下面等待 k8s 啟動即可,可以通過查看主界面看是否有容器已經啟動,如下圖:

可以通過下圖中兩個命令查看運行情況:

4、配置 Kubernetes 控制臺
直接用瀏覽器打開下面的地址,然后按 Ctrl+s 將文件保存到某個位置。
https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml
然后用編輯器打開這個文件,找到對應的 kind 并修改為下面的狀態,注意,這一步非常重要,否則安裝好的控制臺無法使用。
kind
修改完成后執行下面的命令:
kubectl create -f recommended.yaml
會輸出如下內容:

在登錄之前先用命令獲取到登錄所需 Token:
# 使用下面命令拿到訪問令牌
kubectl -n kubernetes-dashboard get secret
# NAME TYPE DATA AGE
# default-token-924zv kubernetes.io/service-account-token 3 52s
# kubernetes-dashboard-certs Opaque 0 52s
# kubernetes-dashboard-csrf Opaque 1 52s
# kubernetes-dashboard-key-holder Opaque 0 52s
# kubernetes-dashboard-token-68h2b kubernetes.io/service-account-token 3 52skubectl describe secrets -n kubernetes-dashboard kubernetes-dashboard-token-68h2b | grep token | awk 'NR==3{print $2}'
會輸出一個很長的字符串,復制的這個字符串,然后打開瀏覽器,輸入 localhost:30000 訪問這個地址,正常情況下會打開下面所示的界面,輸入剛剛拿到的 Token 點擊登錄即可,但如果是 Chrome 可能會存在訪問策略問題,解決方法:
- 換 Firefox 瀏覽器
- 直接鍵盤打字 thisisunsafe 這個字符串,頁面會自動刷新并進入圖中頁面

接著就能看到管理界面了,??ヽ(°▽°)ノ?,經過很長的步驟終于完成了所有操作。


5、安裝 Rancher
Rancher是一個開源的集群管理工具,安裝非常簡單,只需要命令行輸入下面命令即可:
docker run -d --restart=unless-stopped -p 10001:80 -p 10002:443 rancher/rancher
等待安裝完成后,打開瀏覽器 https://localhost:10002,Chrome會提示不安全,忽略即可,就可以進入下面界面了:

接下來就是自由探索的時間,踩坑結束。