作為目前事實上的容器編排系統標準,K8s 無疑是現代雲原生應用的基石,很多同學入門可能直接就被卡到第一關,從哪去弄個 K8s 的環境, Docker Desktop 自帶了Kubernetes 服務,但是在過往的經驗中就是用梯子也安裝不了,卡在拉取k8s 映象的過程中。因此阿里雲有一個專案 k8s-for-docker-desktop 幫助大家拉取映象,大家現在通過網路找到的相關文章都是基於這個專案進行的操作。這個專案最新的一些k8s 版本沒有,對於一個硬性需求的專案突然不活躍了,肯定是有原因的,這也正是我寫這篇部落格要和你分享的內容。
接下來就開始我們直接在 Docker Desktop上啟用Kubernetes 1.25 的過程記錄。
1、在電腦上安裝好 Docker Desktop 4.12,所帶的kubernetes 1.25,如果可以的話,推薦使用 WSL 作為宿主,後面執行 Docker 時的效能會更好些。最新版的軟體在安裝時也是會預設使用 WSL 作為宿主的。
安裝 Docker 之前需要你在 BIOS 中開啟虛擬化,同時基於你的宿主程式的選擇,你還需要執行如下的操作
適用於 Linux 的 Windows 子系統
,然後在 Microsoft 商城中下載一個 Linux 的發行版本
Hyper-V
(沒記錯的話,如果你有安裝別的虛擬機器器軟體,啟用 Hyper-V 後原來的虛擬機器器由於衝突是沒辦法繼續使用了)這裡要注意,以後你看到這篇文章的時候用的是更新的版本:
Docker Desktop 中內建的 K8s 其實是依賴於相關的映象,由於這些映象位於 google 的伺服器上,因此基本上是無法正常拉取下來的,所以這裡就需要藉助映象網站將這些 docker 映象拉取到本地。
因為直接從 國外 Docker Hub 拉取映象的速度是非常慢的,所以安裝完成之後我們可以設定映象網站地址,加速 docker 映象的拉取
找到 Docker 的設定頁面,在 Docker Engine
頁面,將映象網站的地址加入到右側組態檔的 registry-mirrors
節點下面,這裡我使用的是 Docker阿里雲映象和中科大的映象網站地址,調整完成之後重啟 Dokcer 即可
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
},
"live-restore": true,
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://cr.console.aliyun.com/"
]
}
映象地址設定完成之後,做一下清理工作
開啟 Docker 的設定頁面,找到 Kubernetes 頁面,選中 Enable Kubernetes,然後點選 Apply & Restart,這個執行過程有個幾十分鐘到數小時,具體看網路情況,建議在人少的早餐6-7之間來做。
當左下角出現 K8s 的 logo,並逐步變為綠色,整個 K8s 的環境也就執行起來了。此時我們就可以通過 kubectl 來操作叢集,可以看到這裡已經可以列印出整個「叢集」的資訊
上圖中我們看到Docker 桌面的k8s 服務使用到了下列映象:
C:\Users\zsygz>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hubproxy.docker.internal:5000/docker/desktop-kubernetes kubernetes-v1.25.0-cni-v1.1.1-critools-v1.24.2-cri-dockerd-v0.2.5-1-debian 2042e761d17a 6 weeks ago 363MB
k8s.gcr.io/kube-apiserver v1.25.0 4d2edfd10d3e 6 weeks ago 128MB
k8s.gcr.io/kube-controller-manager v1.25.0 1a54c86c03a6 6 weeks ago 117MB
k8s.gcr.io/kube-scheduler v1.25.0 bef2cf311509 6 weeks ago 50.6MB
k8s.gcr.io/kube-proxy v1.25.0 58a9a0c6d96f 6 weeks ago 61.7MB
k8s.gcr.io/pause 3.8 4873874c08ef 3 months ago 711kB
k8s.gcr.io/etcd 3.5.4-0 a8a176a5d5d6 4 months ago 300MB
k8s.gcr.io/coredns v1.9.3 5185b96f0bec 4 months ago 48.8MB
docker/desktop-vpnkit-controller v2.0 8c2c38aa676e 17 months ago 21MB
docker/desktop-storage-provisioner v2.0 99f89471f470 17 months ago 41.9MB
歡迎大家掃描下面二維條碼成為我的客戶,扶你上雲