我的公司已決定過渡到基於微服務的架構。Kubernetes CI/CD管道
在過去的幾個月中,我們一直在研究這件事的架構究竟是什麼樣子。
到目前爲止,我們已經談妥上:
DOTNET爲核心業務的發展(儘管是與語言無關的是有點的最終目標)
卡夫卡的消息代理
Docker
Kubernetes
Ansible
我們有概念的工作,這似乎已經打勾所有正確的箱子與管理團隊,是一個絕對的喜悅與合作的一個非常基本的證明。
我的下一個任務是調查開發工作流如何實際工作的選項。他們已經習慣以CI/CD方式工作,其中一些新產品使用Jenkins/Octopus Deploy。
我的問題是:在部署到Kubernetes集羣時,您是否有任何建議設置CI/CD管道的建議?
必備品的名單:
多個環境即集成,測試,用戶驗收測試,運行,生產。
一種方法,不同的業務部門可以獨特地處理到不同環境的部署(開發只能推動集成,測試人員進入測試等)。這可能是他們最大的問題 - 他們習慣於使用八達通,他們喜歡它處理這種問題的方式。
通過點擊按鈕(或儘可能少的步驟)來回滾/部署的能力。
我們將最初部署到我們自己的服務器。
我已經花了幾天的時間尋找選擇,其中有很多。
到目前爲止,詹金斯管道似乎可能是一個很好的開始。 Spinnakar也似乎是一個堅實的選擇。我確實讀過Fabric8,雖然它提供了我所要求的很多東西,但它看起來有點像過度殺傷。
看看[helm](https://helm.sh/)。這是一個K8S包管理器。然後,您的Jenkins部署管道將部署一個服務包,其中包含您的所有服務/部署/狀態集等資源到您的k8s羣集中。 Helm也支持回滾。 – fishi
我會檢查出來 - 謝謝。 –
請看看我爲[類似的問題(https://stackoverflow.com/questions/36408339/best-cd-strategy-for-kubernetes-deployments/48268573#48268573),很想響應聽聽你的認爲! – errordeveloper