使用 Continuous Delivery 及 Satellite 配置將應用程式部署至叢集

透過 IBM Cloud® Continuous Delivery 和 Satellite Config,將 Kubernetes 資源(例如部署)從您的 GitHub 或 GitLab 儲存庫部署至多個叢集。

目標

在本指導教學中,您將學習如何使用 Continuous Delivery 來建立開放式工具鏈,以將應用程式部署至多個叢集。 您也可以瞭解如何在 Continuous Delivery 服務中實作工具鏈,以及如何使用 Continuous Delivery專用工具鏈範本來部署簡式 Web 應用程式。

使用 Satellite 配置,您可以建立配置來指定要部署至叢集群組的 Kubernetes 資源。 然後,設定 Continuous Delivery 管線,以在每次變更配置時跨叢集群組部署這些資源。

本指導教學中使用的工具鏈會透過管理 Satellite 位置中的部署,來實作有關持續交付功能的標準 DevOps 作法。 建立叢集並將它們與 Satellite 叢集群組相關聯之後,您可以建立工具鏈來變更部署原始碼,並將變更推送至 GitHub 儲存庫。 當您將變更推送至儲存庫時,Tekton 型交付管線會自動將程式碼部署至叢集。

適用對象

本教學指南適用於首次使用 Continuous Delivery 工具鏈及 Satellite Config 來部署資源的管理員。

必要條件

開始本指導教學之前,請確定您已備妥下列資源。

  • IBM Cloud 帳戶。 視您的 IBM Cloud 帳戶類型而定,對某些資源的存取權限可能會受到限制。 視您的帳戶方案限制而定,部分部署策略所需的某些功能可能無法使用。 如需 IBM Cloud 帳戶的相關資訊,請參閱 設定 IBM Cloud 帳戶升級帳戶

  • Satellite 叢集或向 Satellite 叢集登錄的 IBM Cloud 上的 Red Hat® OpenShift® 位置。

如果您沒有 Satellite 叢集,可以 透過 Satellite 註冊一個 Red Hat OpenShift 叢集

開始使用

開始在 IBM Cloud 建立工具鏈。

  1. 使用 IBM Cloud 認證登入 IBM Cloud 工具鏈
  2. 選取工具鏈的資源群組及位置。
  3. 按一下「建立工具鏈」。
  4. 在「建立工具鏈」頁面上,選取 過濾器 下的 Satellite,以顯示適用於 Satellite的範本。
  5. 選取 將 Kubernetes 資源部署至多個叢集 範本。
  6. 閱讀資訊以瞭解工具鏈如何運作,然後按一下 啟動

定義工具鏈設定

定義工具鏈的名稱、地區及資源群組。

  1. 提供工具鏈的名稱。
  2. 請選擇您要建立工具鏈的區域。
  3. 選取您要在其中建立工具鏈的資源群組。
  4. 按一下繼續

定義來源儲存庫

指定您要此工具鏈接聽之來源儲存庫的詳細資料。 您可以使用標準配置選項或進階配置選項來指定此資訊。

  1. 選取來源提供者。 視您選擇的來源提供者而定,會顯示該來源提供者特定的選項。 例如,您可以選取 Github Enterprise Whitewater 作為來源提供者。

  2. 定義來源儲存庫。

    • 若要對此工具鏈使用新的儲存庫,請按一下 建立新的來源儲存庫,並為新的儲存庫命名。
    • 若要為此工具鏈使用現有的儲存庫,請按一下「使用現有原始碼儲存庫」,並提供儲存庫網址 URL。 請選擇「來源提供者」,並輸入您的儲存庫的 URL,例如:https://github.com/my-org/my-repo
  3. 按一下繼續

如果您想要存取更進階的來源儲存庫設定,例如使用自訂伺服器及變更複製行為,請選取 切換至進階配置

設定交付管線

請為將您的應用程式部署至「Satellite」叢集群組中多個叢集的交付管道命名。

  1. 輸入工具鏈中顯示的管線名稱。

  2. 按一下繼續

提供 API 金鑰

請提供 IBM Cloud 的 API 金鑰資訊,以便工具鏈能藉此存取您的 Satellite 位置。

如果您具有現有 API 金鑰或多個現有 API 金鑰,請遵循下列步驟。

  1. 選取您使用的一或多個密鑰提供者。 您可以選擇一項或多項。

  2. 按一下繼續

  3. 提供用於存取密鑰提供者的必要資訊。

如果您沒有現有 API 金鑰,則可以忽略此頁面上的選項,並按一下 繼續 以繼續下一頁,您可以在其中建立 IBM Cloud API 金鑰並將其儲存至秘密提供者。

設定 Satellite 配置

指定「Satellite」配置工具在部署資源時可使用的設定。

  1. 請提供 IBM Cloud 的 API 金鑰。 如果您未在上一頁提供現有的 IBM Cloud API 金鑰,則可以按一下 新建來建立新的 IBM Cloud API 金鑰。

    您可以在建立新金鑰時選取該選項,或按一下金鑰圖示,將此金鑰儲存至您選擇的秘密金鑰提供者以供重複使用。

  2. 定義您要將資源部署至其中的名稱空間。 這必須是現有的名稱空間。

  3. 指定要將資源部署至其中的分支; 例如,v1

  4. 提供要將資源部署至其中的路徑; 例如,deployments

  5. 選取叢集群組以接收您要部署的資源。

  6. 提供 Satellite 配置的顯示名稱。

  7. 按一下繼續

檢閱摘要

檢閱摘要並確認建立工具鏈。

  • 若要變更您先前提供的任何參數,請按 上一步

  • 若要使用提供的參數來建立工具鏈,請按一下 建立工具鏈

測試工具鏈

建立工具鏈時,會顯示工具鏈「概觀」頁面。 在此頁面中,您可以檢視與此工具鏈相關的儲存庫、管道以及任何 IBM Cloud 工具。

儲存庫 下,是您的來源儲存庫,以及 Tekton 型錄和管線作業的其他儲存庫。 如果您願意使用 Tekton,您可以移至這些 Tekton 儲存庫,以變更您的工具鏈。

Delivery Pipeline 下,您可以查看管線執行的狀態。 您可以按一下管線名稱以查看管線的相關詳細資料,並設定從這個管線概觀開始,您可以設定管線的觸發程式。 觸發程式會定義管線啟動的時間。

您可以透過以下任一種方式啟動交付流程。

  • 設定手動觸發程式,以手動觸發 Delivery Pipeline。
  • 將確定推送至 Git 儲存庫觸發程式所定義的部署來源儲存庫。 若要設定 Git 儲存庫觸發程式,請參閱 從不同分支部署應用程式的新版本

若要開始手動管線執行,請遵循下列步驟。

  1. Delivery Pipeline 下工具鏈的 概觀 上,選取 Delivery Pipeline 以檢視其狀態。
  2. 按一下 執行管線
  3. 請檢閱觸發程式內容,以確定它們符合您的配置。
  4. 按一下 執行,以執行工具鏈並部署應用程式。
  5. 選用項目: 按一下執行的名稱,以查看狀態、日誌及詳細資料。
  6. 選用項目: 在應用程式執行之後,請移至 Satellite 配置 或執行 ibmcloud sat config 指令,以查看 Satellite 配置資源。

驗證範例應用程式正在執行中

在完成工具鏈的設定,且「Delivery Pipeline」成功執行後,請依照以下步驟檢查您的應用程式。

  1. 叢集 頁面中,按一下您用來部署應用程式的叢集。
  2. 請點選 OpenShift 網頁控制台
  3. 工作量 > Pod 區段中,依專案或叢集名稱空間過濾,並驗證 Pod 是否在執行中。
  4. 在「網路 > 路由」區段中,依專案或叢集命名空間進行篩選,並找出應用程式 URL。
  5. 請透過瀏覽器造訪應用程式網址 URL,以確認該應用程式是否正在執行。
  6. 選用項目: 您可以檢視 Satellite 配置 在主控台中,或執行 ibmcloud sat config ls 指令

從不同分支部署應用程式的新版本

如果儲存庫中有多個分支代表應用程式的多個版本,您可以部署不同的分支,以查看應用程式的新版本執行中。 請遵循下列步驟來修改工具鏈,以部署來源儲存庫的不同分支。

  1. 在工具鏈的 概觀 上,選取要修改的 Delivery Pipeline。
  2. 按一下 觸發程式
  3. 按一下 commit-push 觸發程式的動作功能表。
  4. 選取編輯
  5. 分支 欄位中,選取您要部署的分支。 例如,v2
  6. 內容下的 deployment-branch 行中,按一下 編輯 圖示。
  7. 將此內容的值修改為您要部署的分支名稱。 例如,v2
  8. 儲存變更。
  9. 請透過瀏覽器造訪應用程式網址 URL,確認您的應用程式是否已升級至新版。
  10. 選用項目: 在 Satellite 配置 主控台 中檢視新版本的配置,或執行 ibmcloud sat config get --config CONFIG 指令

現在,您可以使用單一工具鏈,將 Kubernetes 資源部署至多個叢集。