將應用程式遷移至 GKE Autopilot 叢集並部署

如要將遷移的容器工作負載部署至 GKE Autopilot 叢集,請使用與現有架構相同的程序來遷移工作負載。唯一的變更是:

  • 您必須先在遷移計畫中將 v2kServiceManager 設為 true,才能產生容器構件。

  • 您必須查看新的 services-config.yaml 檔案,並對初始化服務進行任何編輯。請參閱「使用 services-config.yaml」。

如要執行遷移作業,請按照下列步驟操作:

  1. 安裝 Migrate to Containers 1.15.0 版

  2. 新增遷移來源,並建立遷移作業,就像您目前使用現有執行階段一樣。

  3. 視需要自訂遷移計畫

    1. 下載遷移計畫。遷移計畫由 AppXGenerateArtifactsFlow 代表。

      舉例來說,如果移轉作業名稱為「my-migration」:

      migctl migration get my-migration
    2. 在文字編輯器中開啟下載的遷移計畫 my-migration.yaml

    3. 驗證強化的 Linux 服務管理器。根據預設,v2kServiceManager 標記會設為 true。不過,如果「遷移至容器」偵測到系統服務不受服務管理員支援,系統會發出警示,並將 v2kServiceManager 標記設為 false。如果標記為 false,遷移作業會使用支援服務的舊版執行階段。

      系統會在不支援的服務旁顯示以下快訊:

      Service is not supported by v2k service manager, therefore legacy runtime
      will be used instead of v2k service manager, and migrated workload would
      not fit running on Autopilot clusters of Cloudrun.

      如果發現不支援的服務,您也可以選擇手動將標記設為 true。在這種情況下,您可以選擇在產生的映像檔中保留不支援的服務 (可能無法執行),或是從遷移計畫中移除該服務。

      如要啟用新的服務管理器,請將旗標重設為 true

      v2kServiceManager: true
    4. 如「自訂遷移計畫」所述,執行遷移作業所需的任何其他自訂動作。

    5. 完成編輯後,請儲存編輯過的檔案。

    6. 上傳已編輯的遷移計畫:

      migctl migration update my-migration --main-config my-migration.yaml
  4. 您可以產生 查看遷移構件,就像使用現有執行階段一樣。

  5. 編輯新的 services-config.yaml 檔案,設定容器的初始化屬性。儲存檔案並重新建構容器映像檔,以便套用變更。

    詳情請參閱「使用 services-config.yaml」。

  6. 使用 kubectl 將容器部署至 GKE Autopilot 叢集

    kubectl apply -f deployment_spec.yaml

範例:在 Autopilot 叢集中部署快速入門容器

請參閱目前的快速入門指南,瞭解如何遷移含有簡易網路伺服器的容器,然後在 Autopilot 叢集中部署該容器。您只需要對快速入門程序進行以下變更:

  1. 在「遷移虛擬機器」的步驟 3 中,您會查看遷移計畫,請在遷移計畫中將 v2kServiceManager 設為 true,然後儲存計畫:

     
    v2kServiceManager: true
  2. 在「部署已遷移的工作負載」一節中,請先建立並連線至 GKE Autopilot 叢集,再部署容器:

    1. 建立 GKE Autopilot 叢集:

      gcloud container clusters create-auto "CLUSTER_NAME"
      --project "PROJECT_NAME"  --region "REGION" --release-channel "regular"
      --subnetwork "projects/PROJECT_NAME/regions/us-central1/subnetworks/default"
    2. 連線至叢集:

      gcloud container clusters get-credentials CLUSTER_NAME 
        --zone REGION --project PROJECT_NAME 
      
    3. 請按照「部署遷移的工作負載」一節的說明部署容器。

AppXGenerateArtifactsFlow CRD 的異動

如果您使用 CRD 檔案控制遷移作業,請編輯 AppXGenerateArtifactsFlow CRD,將 v2kServiceManager 設為 true。如要進一步瞭解如何使用 CRD 檔案控制遷移作業,請參閱「自訂遷移計畫」。

後續步驟