管理 GitOps 配置
建立一組設定,以便將應用程式從您的 GitHub 或 GitLab 儲存庫部署至您的叢集。
Satellite Config 每 5 分鐘就會重新儲存當前的設定,無論操作是否成功。 若叢集中的設定有任何更新(例如透過 kubectl edit 或 Satellite 進行),Config 會重新套用設定,使其與 GitHub 或 GitLab 儲存庫中定義的內容保持一致。
建立 Satellite 配置
透過「Satellite 設定」,您可以建立一組設定,以指定要將哪些 Kubernetes 資源部署至一組 Red Hat OpenShift on IBM Cloud 叢集;這些叢集可運行於您的 Satellite 位置,或位於 IBM Cloud。
開始之前
- 請確定您具有 必要許可權,且 Satellite Config 可以存取您的叢集。 如需相關資訊,請參閱 檢查使用者許可權。
- 檢閱 Satellite Config 的 主要概念。
- 如果您要使用專用儲存庫,則必須在目標叢集上 建立密鑰,其中包含至少具有專用儲存庫讀取權的個人存取記號。
建立密鑰以使用專用儲存庫
若要連線至私有儲存庫,您必須建立一個 Git 個人存取憑證,並將其套用至您的叢集。
-
建立 Github 或 Gitlab 記號。
-
將記號編碼為 base64。
printf "TOKEN_FROM_GITHUB_OR_GITLAB" | base64 -
對於您要使用的每一個叢集,請登入叢集,並套用下列 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 使用者介面,並遵循下列步驟。
-
使用 IBM Cloud 認證登入 Satellite 配置使用者介面。
-
按一下 建立配置。
-
在「瀏覽範本」頁面上,選取 GitOps 範本。
-
在「配置」頁面上,指定配置名稱和提供者。
欄位 說明 設定名稱 輸入「Satellite」設定的名稱。 提供者 選擇用於「Satellite」設定的遠端提供者,該提供者會儲存將部署至您叢集的「Kubernetes」資源定義。 選項有 GitHub和GitLab。
- 在「訂閱」頁面上,請指定您的儲存庫 URL、儲存庫的可見性、Git 參照詳細資訊、檔案或目錄的路徑,以及要部署到的叢集群組。
欄位 說明 儲存庫 URL 請輸入此 Satellite 訂閱要使用的遠端儲存庫。 儲存庫可見性 選取此儲存庫是公用還是專用。 Git 參考類型 選擇要用於此 Satellite 訂閱的 Git 參考類型。 有效值為 Branch、Tag、Commit及Release。分支/標籤/提交/發行版本名稱 請輸入此 Satellite 訂閱所使用的 Git 參考連結。 路徑 輸入此 Satellite 訂閱所使用的遠端儲存庫中檔案的路徑。 訂閱名稱 請為您的「Satellite」訂閱輸入名稱。 依預設,branch/tag/commit/release 名稱會自動填入作為訂閱名稱。 叢集群組 輸入您要部署 Kubernetes 資源的叢集群組名稱。
- 在「摘要」頁面上,確認顯示的資訊正確,然後按一下 完成。
從 CLI 建立 Satellite 配置
請使用 CLI 外掛程式執行 Satellite 指令來建立設定。
如果要建立配置,請執行下列動作:
-
設定叢集以與 Satellite 配置 搭配使用。 此設定包括建立叢集群組,並授與 Satellite 對叢集的配置存取權。
-
建立一個 Satellite 設定檔。
ibmcloud sat config create --name CONFIG_NAME [--provider <provider>] [-q]瞭解這個指令的元件 元件 說明 --name <config_name>請輸入「Satellite」設定的名稱。 --provider <provider>輸入 Satellite 配置的遠端提供者,這會儲存要部署至叢集的 Kubernetes 資源定義。 有效值為 github和gitlab。-q不要顯示日或更新提示的訊息。 輸出範例
Creating configuration... OK Configuration <config_name> was successfully created with ID 116fffde-0835-467c-8987-67dd42e4e393. -
為叢集群組建立 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 參照類型。 有效值為 branch、commit、tag及release。--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. -
遵循 從主控台建立 Satellite 配置 中的步驟 5,以檢閱 Kubernetes 資源的推出狀態。
更新 Satellite 配置
若要更新配置,您可以在訂閱層次進行更新。 您需要採取的動作取決於您要進行的更新類型。
- 若要將應用程式新版本部署至相同的叢集群組,請更新 GitHub 或 GitLab 儲存庫中定義的檔案,並確定變更。
- 若要變更來源儲存庫的任何內容,您可以編輯訂閱,並以新的詳細資料更新欄位。
- 如果要使多個儲存庫與相同配置產生關聯,請新增來源儲存庫,或新增相同來源儲存庫的 Git 參照詳細資料,您可以建立新的訂閱。 按一下建立訂閱,並完成新訂閱的詳細資訊。 如果您想要建立只變更了幾個詳細資料的新訂閱,您可以使用 複製 選項,以自動填入所有欄位中現有訂閱的內容,並修改您要變更的欄位。
- 若要刪除訂閱,請使用 移除 選項。
從主控台更新訂閱
請使用 Satellite 控制台來更新您的設定。
-
使用 IBM Cloud 認證登入 Satellite 配置使用者介面。
-
請選擇您要更新的設定。
-
按一下要更新的訂閱行中的溢位功能表,然後選取 編輯。
-
在「編輯訂閱」頁面上,進行變更,然後按一下 儲存。
使用 CLI 更新 Satellite 配置
請使用 CLI 外掛程式執行 Satellite 指令來更新您的設定。 如果您要更新配置以使用新檔案,則可以更新訂閱以指向新檔案。
-
更新叢集群組的 訂閱,以使用遠端儲存庫中新的 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 參照類型。 有效值為 branch、commit、tag及release。--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. -
遵循 從主控台建立 Satellite 配置 中的步驟 5,以檢閱 Kubernetes 資源的推出狀態。