部署模式
部署模型可協助您瞭解跨叢集的應用程式部署程序。
推送型部署
推送型部署模型會將您的應用程式部署在單一叢集上。 部署管道會連線至叢集,並套用部署檔案。 此模型無需在您的叢集上由操作員或代理程式進行任何安裝。
您可以使用任何能夠從部署管道對目標叢集執行的部署工具,例如:
- 使用 kubectl (或 Red Hat OpenShift on IBM Cloud 上的
oc)來套用 Kubernetes 的配置檔。 - Helm 安裝或升級圖表版本。 該圖表可像其他部署資產一樣,儲存於庫存儲存庫中。
部署腳本是部署儲存庫的一部分,您可以根據您的應用程式和叢集需求進行自訂。 DevSecOps 提供了一組稱為「commons 函式庫」的輔助腳本,涵蓋了各種部署操作。
取回型部署
取回型部署模型適用於多叢集應用程式部署。 此模型使用 IBM Cloud Satellite Config 作為部署工具,以跨多個叢集進行部署。 如需相關資訊,請參閱 瞭解 Satellite 配置。
部署管道並未連接到每個叢集。 相反地,它會將部署檔案發佈至 Satellite Config,而運行於各叢集上的代理程式則會從該處擷取這些檔案。 接收相同部署的叢集會被歸類到「Satellite」叢集群組中。
Satellite 此設定檔會部署 Kubernetes 資源定義。 若您的應用程式是以「Helm」圖表或「Kustomize」疊加層的形式打包,請先將其渲染為「Kubernetes」格式的主檔,例如使用 helm template 或 kustomize build 進行渲染,然後將渲染後的主檔上傳為配置版本。
若為取回型部署,請完成下列步驟:
- 為部署檔案建立或更新所需的 Satellite 設定及其版本。
- 使用 Satellite 的設定以及需要部署的版本,建立或更新「Satellite」設定訂閱。
- 訂閱更新完成後,安裝在叢集上的 Razee 代理程式會從 Satellite Config 擷取最新的部署內容,並將其部署至各叢集。
選擇部署模式
| 考量 | 推送型部署 | 取回型部署 |
|---|---|---|
| 目標 | 單一叢集 | 一組群集 |
| 部署工具 | kubectl, oc, Helm, Kustomize,或任何可在處理流程中執行的工具 |
Satellite 設定 |
| 叢集上的元件 | 無 | Satellite 設定代理程式 |
| 叢集存取 | 該管線需要叢集的憑證 | 叢集上的代理程式會擷取該部署,而管線僅需存取 Satellite Config |
| Helm 圖表 | 直接透過以下方式安裝或升級:Helm | 上傳前已轉換為清單 |
有關選擇部署目標的更多資訊,請參閱「在目標上部署您的應用程式」。