管理 GitOps 配置

建立一組設定,以便將應用程式從您的 GitHub 或 GitLab 儲存庫部署至您的叢集。

Satellite Config 每 5 分鐘就會重新儲存當前的設定,無論操作是否成功。 若叢集中的設定有任何更新(例如透過 kubectl edit 或 Satellite 進行),Config 會重新套用設定,使其與 GitHub 或 GitLab 儲存庫中定義的內容保持一致。

建立 Satellite 配置

透過「Satellite 設定」,您可以建立一組設定,以指定要將哪些 Kubernetes 資源部署至一組 Red Hat OpenShift on IBM Cloud 叢集;這些叢集可運行於您的 Satellite 位置,或位於 IBM Cloud。

開始之前

建立密鑰以使用專用儲存庫

若要連線至私有儲存庫,您必須建立一個 Git 個人存取憑證,並將其套用至您的叢集。

  1. 建立 Github 或 Gitlab 記號。

  2. 將記號編碼為 base64。

    printf "TOKEN_FROM_GITHUB_OR_GITLAB" | base64
    
  3. 對於您要使用的每一個叢集,請登入叢集,並套用下列 YAML 檔案,在 razeedeploy 名稱空間中建立名為 razee-git 的密鑰:

    apiVersion: v1
    data:
      token: [BASE64_ENCODED_TOKEN_FROM_GITHUB_OR_GITLAB]
    kind: Secret
    metadata:
      name: razee-git
      namespace: razeedeploy
    type: Opaque
    

    在 GitHub 與 GitLab 這兩組儲存庫之間,您只能擁有一個祕密。

從主控台建立 Satellite 配置

若要部署範例應用程式,請參閱 使用 Satellite 配置將 Kubernetes 資源部署至叢集

若要建立自訂配置,請使用 Satellite 使用者介面,並遵循下列步驟。

  1. 使用 IBM Cloud 認證登入 Satellite 配置使用者介面

  2. 按一下 建立配置

  3. 在「瀏覽範本」頁面上,選取 GitOps 範本。

  4. 在「配置」頁面上,指定配置名稱和提供者。

    欄位 說明
    設定名稱 輸入「Satellite」設定的名稱。
    提供者 選擇用於「Satellite」設定的遠端提供者,該提供者會儲存將部署至您叢集的「Kubernetes」資源定義。 選項有 GitHubGitLab
  1. 在「訂閱」頁面上,請指定您的儲存庫 URL、儲存庫的可見性、Git 參照詳細資訊、檔案或目錄的路徑,以及要部署到的叢集群組。
    欄位 說明
    儲存庫 URL 請輸入此 Satellite 訂閱要使用的遠端儲存庫。
    儲存庫可見性 選取此儲存庫是公用還是專用。
    Git 參考類型 選擇要用於此 Satellite 訂閱的 Git 參考類型。 有效值為 BranchTagCommitRelease
    分支/標籤/提交/發行版本名稱 請輸入此 Satellite 訂閱所使用的 Git 參考連結。
    路徑 輸入此 Satellite 訂閱所使用的遠端儲存庫中檔案的路徑。
    訂閱名稱 請為您的「Satellite」訂閱輸入名稱。 依預設,branch/tag/commit/release 名稱會自動填入作為訂閱名稱。
    叢集群組 輸入您要部署 Kubernetes 資源的叢集群組名稱。
  1. 在「摘要」頁面上,確認顯示的資訊正確,然後按一下 完成

從 CLI 建立 Satellite 配置

請使用 CLI 外掛程式執行 Satellite 指令來建立設定。

如果要建立配置,請執行下列動作:

  1. 設定叢集以與 Satellite 配置 搭配使用。 此設定包括建立叢集群組,並授與 Satellite 對叢集的配置存取權。

  2. 建立一個 Satellite 設定檔

    ibmcloud sat config create --name CONFIG_NAME [--provider <provider>] [-q]
    
    瞭解這個指令的元件
    元件 說明
    --name <config_name> 請輸入「Satellite」設定的名稱。
    --provider <provider> 輸入 Satellite 配置的遠端提供者,這會儲存要部署至叢集的 Kubernetes 資源定義。 有效值為 githubgitlab
    -q 不要顯示日或更新提示的訊息。

    輸出範例

    Creating configuration...
    OK
    Configuration <config_name> was successfully created with ID 116fffde-0835-467c-8987-67dd42e4e393.
    
  3. 為叢集群組建立 Satellite 配置的 訂閱

    ibmcloud sat subscription create --name <subscription_name> --group <cluster_group_name> --config <config_name_or_ID> --repository <repository_value> --gitref-type <type_value> --gitref <gitref_value> --path <path_value> [-q]
    
    瞭解這個指令的元件
    元件 說明
    --name <subscription_name> 輸入 Satellite 訂閱的名稱。
    --group <cluster_group_name> 輸入您要在其中部署 Kubernetes 資源的叢集群組名稱。
    --config <config_name_or_ID> 輸入您先前建立的 Satellite 配置的名稱或 ID。
    --repository <repository_value> 輸入要用於此 Satellite 訂閱的遠端儲存庫。
    --gitref-type <type_value> 輸入要用於此 Satellite 訂閱的 Git 參照類型。 有效值為 branchcommittagrelease
    --gitref <gitref_value> 輸入要用於此 Satellite 訂閱的 Git 參照。
    --path <path_value> 輸入遠端儲存庫中要用於此 Satellite 訂閱的檔案路徑。
    -q 不要顯示日或更新提示的訊息。

    輸出範例

    Creating subscription...
    OK
    Subscription <subscription_name> was successfully created with ID f6114bd5-f71e-4335-b034-ca45fa3cab81.
    
  4. 遵循 從主控台建立 Satellite 配置 中的步驟 5,以檢閱 Kubernetes 資源的推出狀態。

更新 Satellite 配置

若要更新配置,您可以在訂閱層次進行更新。 您需要採取的動作取決於您要進行的更新類型。

  • 若要將應用程式新版本部署至相同的叢集群組,請更新 GitHub 或 GitLab 儲存庫中定義的檔案,並確定變更。
  • 若要變更來源儲存庫的任何內容,您可以編輯訂閱,並以新的詳細資料更新欄位。
  • 如果要使多個儲存庫與相同配置產生關聯,請新增來源儲存庫,或新增相同來源儲存庫的 Git 參照詳細資料,您可以建立新的訂閱。 按一下建立訂閱,並完成新訂閱的詳細資訊。 如果您想要建立只變更了幾個詳細資料的新訂閱,您可以使用 複製 選項,以自動填入所有欄位中現有訂閱的內容,並修改您要變更的欄位。
  • 若要刪除訂閱,請使用 移除 選項。

從主控台更新訂閱

請使用 Satellite 控制台來更新您的設定。

  1. 使用 IBM Cloud 認證登入 Satellite 配置使用者介面

  2. 請選擇您要更新的設定。

  3. 按一下要更新的訂閱行中的溢位功能表,然後選取 編輯

  4. 在「編輯訂閱」頁面上,進行變更,然後按一下 儲存

使用 CLI 更新 Satellite 配置

請使用 CLI 外掛程式執行 Satellite 指令來更新您的設定。 如果您要更新配置以使用新檔案,則可以更新訂閱以指向新檔案。

  1. 更新叢集群組的 訂閱,以使用遠端儲存庫中新的 Satellite 配置。 您只需要指定您要變更的參數。

    ibmcloud sat subscription update --subscription <subscription_name> [--name <new_subscription_name>] [--group <cluster_group_name>] [--repository <repository_value>] [--gitref-type <type_value>] [--gitref <gitref_value>] [--path <path_value>] [-f] [-q]
    
    瞭解這個指令的元件
    元件 說明
    --subscription <subscription_value> 輸入要更新之訂閱的名稱或 ID。
    --name <new_subscription_name> 請輸入訂閱的新名稱。
    --group <cluster_group_name> 輸入您要在其中部署 Kubernetes 資源的叢集群組名稱。
    --repository <repository_value> 輸入要用於此 Satellite 訂閱的遠端儲存庫。
    --gitref-type <type_value> 輸入要用於此 Satellite 訂閱的 Git 參照類型。 有效值為 branchcommittagrelease
    --gitref <gitref_value> 輸入要用於此 Satellite 訂閱的 Git 參照。
    --path <path_value> 輸入遠端儲存庫中要用於此 Satellite 訂閱的檔案路徑。
    -f 強制執行指令,而不出現使用者提示。
    -q 不要顯示日或更新提示的訊息。

    輸出範例

    Are you sure you want to update the subscription <subscription_name>? [y/N]y
    OK
    Subscription f6114bd5-f71e-4335-b034-ca45fa3cab81 was successfully updated.
    
  2. 遵循 從主控台建立 Satellite 配置 中的步驟 5,以檢閱 Kubernetes 資源的推出狀態。