macOS 屬於類 Unix 系統,但它並不是 Linux,因此如果/當我們需要使用 docker 之類的 linux 工具時,很不幸我們需要像在 Windows 世界中一樣安裝 VM 才行。Docker 當然也得這么干。
像大多數人一樣,我多年來一直使用 Docker Desktop 來處理容器。它很好用,幾乎所有事情都能做得井井有條。我不清楚從什么時候開始,Docker 桌面添加了對運行 Kubernetes 的支持。紙面上來看這是挺好的更新,技術上來講也是可行的,但代價還是無法避免……(至少在我的 Mac 上)隨它而來的是狂轉的風扇和 747 起飛般的巨大噪音。所幸大部分時間我都可以訪問遠程 Kubernetes 服務器,因此我很少使用這個方法,但每當我(重新)嘗試用它時,我都會很快關掉它。
安裝 Kubernetes
上個月,我換了工作加入了Kaltura——所以得重新做一遍系統設置(就是那些重要的事情,比如設置開發字體、所有編輯器的主題等:)),我還決定試一試看能不能不用聽那些噪音就讓 Kubernetes 跑起來——結果發現似乎幾個簡單的步驟就能實現我的目標:
brew install hyperkit brew install minikube minikube start
復制代碼
如果你願意,還可以在啟動之前定義 minikube 映像的資源
minikube config set cpu <whatever> minikube config set memory <whatever>
復制代碼
macOS 屬於類 Unix 系統,但它並不是 Linux,因此如果/當我們需要使用 docker 之類的 linux 工具的時候,很不幸我們需要像在 Windows 世界中一樣安裝 VM 才行。Docker 當然也得這么干。
像大多數人一樣,我多年來一直使用 Docker Desktop 來處理容器。它很好用,幾乎所有事情都能做得井井有條。我不清楚從什么時候開始,Docker 桌面添加了對運行 Kubernetes 的支持。紙面上來看這是挺好的更新,技術上來講也是可行的,但代價還是無法避免……(至少在我的 Mac 上)隨它而來的是狂轉的風扇和 747 起飛般的巨大噪音。所幸大部分時間我都可以訪問遠程 Kubernetes 服務器,因此我很少使用這個方法,但每當我(重新)嘗試用它時,我都會很快關掉它。

運行 Docker
現在你就可以 kubectl deploy 隨便什么東西了,只要它存在就行——但是如果你想部署一個本地創建的映像該怎么辦呢?好吧,這並不復雜,你需要在 minikube 使用的 docker 上構建映像:
eval $(minikube docker-env)
復制代碼
然后你可以 docker build -t <whatever>,(或其他什么 docker 命令)像往常一樣。
它很好用,我將 eval 命令添加到了我的.zshrc 文件中,然后徹底不用 docker 桌面了。
補充:大約一天前,我看到 Docker 正在嘗試通過 Docker 桌面獲利,開始需要企業訂閱許可了,因此使用 hypekit+minikube 不僅看起來效果更好(起碼對我來說是這樣),對於不想/無法讓他們的組織支付訂閱費用的開發人員來說也是一個很好的方案,所以這又是一個加分點。