筆記。 翻譯。:與項目中的 Kubernetes 愛好者一起
他談論主要(同名)
我最不想做的事情就是在我的筆記本電腦上使用 Kubernetes。 Pilot 會消耗他的處理器和電池,使冷卻器不停地旋轉,並且難以維護。
Minikube、kind、k3s、Docker Desktop、microk8s 等— 旨在使 Kubernetes 的使用盡可能方便的出色工具,為此感謝他們。 嚴重地。 但無論你如何看待它,有一件事是明確的:Kubernetes 並不是為在我的筆記本電腦上運行而設計的。 而且筆記本電腦本身並不是為了與分散在虛擬機層上的容器集群一起工作而設計的。 這個可憐的東西盡了最大努力,但顯然不喜歡這樣,當我不顧一切地把他放在膝蓋上時,他對冷卻器的嚎叫聲表示不滿,並試圖燒傷他的大腿。
比方說:筆記本電腦 - 筆記本電腦。
大約 18 個月前,從 Garden 項目一開始,我們就知道 當地的 分佈式系統的開發是一個臨時解決方案,因此Garden有很大的靈活性和堅實的基礎。
我們現在已準備好支持本地和遠程 Kubernetes 環境。 工作變得更加容易:組裝、部署和測試現在可以在遠程集群中進行。
簡而言之:
使用 Garden v0.10,您可以完全忘記本地 Kubernetes 集群,並且仍然可以快速響應代碼的更改。 所有這些都是免費且開源的。
在本地和遠程環境中享受同樣的便利
引起你的注意了嗎?
我很高興,因為我們有更多有趣的功能! 開發集群的普遍使用具有更廣泛的影響,特別是對於協作團隊和 CI 管道。
怎麼會這樣
首先,集群內構建器(無論是標準 Docker 守護程序還是 Kaniko)以及集群內註冊表都是共享的 對於整個集群。 您的團隊可以共享一個開發集群,並為所有開發人員提供構建緩存和映像。 由於 Garden 根據源哈希為圖像分配標籤,因此標籤和圖層的定義是唯一且一致的。
這意味著一旦開發人員創建了圖像,它就變成了 可供整個團隊使用。 日復一日,我們下載相同的基礎鏡像並在計算機上進行相同的構建。 好奇浪費了多少流量和電力?
測試也是如此:它們的結果可供整個集群和所有團隊成員使用。 如果其中一位開發人員測試了某個版本的代碼,則無需重新運行相同的測試。
換句話說,不僅僅是您不需要運行 minikube。 這一飛躍為您的團隊鋪平了道路 許多 優化機會 - 不再有不必要的構建和測試運行!
CI 怎麼樣?
我們大多數人都習慣了這樣一個事實:CI 和本地開發是兩個獨立的世界,需要單獨配置(並且它們不使用共享緩存)。 現在您可以將它們組合起來並去掉多餘的部分:
您可以在 CI 和開發過程中運行相同的命令, 以及 使用單一環境、緩存和測試結果。
本質上,您的 CI 變成了一個與您在同一環境中工作的開發機器人。
系統的要素; 無縫開發和測試
您可以顯著簡化 CI 管道的配置。 為此,只需從 CI 運行 Garden 進行構建、測試和部署。 由於您和 CI 使用相同的環境,因此遇到 CI 問題的可能性要小得多。
挖掘無數行配置和腳本,然後推送、等待、希望和無休止的重複……這一切都已成為過去。 你只是在發展。 沒有多餘的動作。
並把事情說清楚: 當您或其他團隊成員使用 Garden 構建或測試某些內容時,CI 也會發生同樣的事情。 如果自測試運行以來您沒有更改任何內容,那麼您不需要為 CI 運行測試(甚至構建)。 Garden 自己完成所有事情,然後繼續執行其他任務,例如設置預啟動環境、推送工件等。
聽起來很誘人。 如何嘗試?
歡迎來到
譯者PS
很快我們還將發布對在 Kubernetes 中運行的應用程序開發人員有用的實用程序的評論,其中除了 Garden 之外,還包括其他有趣的項目......同時,還可以閱讀我們的博客:
- «
Kubernetes 提示和技巧:關於本地開發和網真 “; - «
用於在 Kubernetes Pod 中進行調試的 kubectl-debug 插件 “; - «
Kubernetes 提示和技巧:訪問開發站點 “; - «
使用 Minikube 開始使用 Kubernetes “。
來源: www.habr.com