將 Linux 應用程式遷移至容器

Migrate to ContainersCloud Code 整合後,您就能使用 Linux 電腦,直接在 IDE 中翻新虛擬機器 (VM) 上執行的 Linux 應用程式元件,並產生可部署至 Google Kubernetes EngineCloud Run 的構件。

本指南說明如何使用 Linux 電腦上 IDE 中的 Cloud Code 擴充功能,將現有應用程式重新平台化為 GKE 容器。

本指南適用於 Linux 電腦上的開發人員,他們對 VS Code 有實務知識、熟悉 Trusted Cloud by S3NS,且有執行應用程式元件的 VM。

事前準備

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Trusted Cloud project.

  3. Enable the Google Kubernetes Engine API.

    Enable the API

  4. 如果尚未安裝,請安裝 Cloud Code 擴充功能
  5. 建立及設定 GKE 叢集
  6. 請務必瞭解要執行的遷移作業類型。如要進一步瞭解支援的工作負載,請參閱「檢查相容的作業系統、工作負載和 Kubernetes 版本」。
  7. 準備好要進行現代化的來源和本機電腦。Cloud Code 僅支援 Linux 進行現代化。
  8. 新增平台轉換來源

    在本節中,您將在本機安裝遷移中心探索用戶端 CLI (mcdc) 和其他 Migrate to Containers 工具 (如果尚未安裝),然後按照下列步驟新增平台轉換來源:

    1. 在 IDE 的活動列中,依序點按 「Cloud Code」和「Replatform Apps」 Explorer。

    2. 如果這是您首次在 Cloud Code 中使用 Migrate to Containers,請按一下「安裝工具」,在本機安裝 mcdcCLImcdc 和其他 Migrate to Containers 工具。否則,請繼續下一步。

    3. 按一下「編輯來源」。系統會開啟空白的 mcdc-sources.json 檔案。請按照下列格式新增來源:

      [
        {
          "title": "SOURCE_NAME",
          "host": "HOSTNAME",
          "user": "USER",
          "identityFile":"IDENTITY-FILE-PATH"
        }
      ]
      
    4. 如要在「Replatform Apps」探索工具中查看來源,請將指標懸停在「Replatform Apps」探索工具上,然後點選顯示的 cached「Reload sources」按鈕。

    選用:產生適配評估

    嘗試將應用程式重新平台化至容器前,建議您先產生來源的合適度評估,瞭解來源是否能夠重新平台化容器。

    如要產生來源的合適度評估,請在來源上按一下滑鼠右鍵,然後選取「評估來源」。IDE 會開啟終端機,並顯示來源評估的記錄。

    評估完成後,mcdc 會在 IDE 中產生 Fit 評估報告。

    如果來源回報為「適合」,您就可以重新平台化應用程式。

    重新平台化應用程式

    Cloud Code 會為每個平台轉換作業建立專屬工作區,並讓您在工作區中執行「複製」、「分析」和「產生」工作,自動完成平台轉換步驟。如果您在執行「複製」和「分析」工作前,就執行「產生」工作,系統會先自動執行這兩項工作,再產生構件。

    以下各節將逐步說明如何執行這些工作,以及如何使用 Cloud Code 將應用程式重新平台化為容器。

    如要進一步瞭解遷移作業的生命週期,請參閱 Migrate to Containers CLI 架構

    建立新的平台轉換工作區

    建立新的平台轉換工作區前,請先瞭解要為遷移類型選取哪些遷移參數。如要進一步瞭解各遷移類型的參數,請參閱「建立遷移計畫」。

    如要在 IDE 中使用構件建立新的平台轉換工作區,請按照下列步驟操作:

    1. 在「Replatform Apps」(重新平台化應用程式) 檔案總管中,在要重新平台化的來源上按一下滑鼠右鍵,然後點選「Replatform」(重新平台化)

    2. 在選單中顯示的選項清單中,選取重新平台化歷程。

    3. 選取要用來重新平台化應用程式的新工作區目錄,按一下「OK」,然後按一下「Create replatform workspace」(建立重新平台化工作區)

    4. 為遷移類型選取遷移參數。

    5. 選用:如果您選取 WebSphere 遷移類型,且想使用二進位掃描器,請選取 binaryAppScanner.jar 檔案。

      工作區會在幾秒鐘內生成完畢。IDE 會在新視窗中開啟新的工作區目錄。

    將檔案從 VM 複製到工作區

    如要將檔案從 VM 複製到 IDE 的工作區,請按照下列步驟操作:

    1. 選用:mcdc CLI 會套用篩選條件來縮減副本大小,但您可以修改 filters.txt 檔案,進一步縮減副本大小。如要瞭解如何縮減副本大小,請參閱「縮減複製的檔案系統大小」。

    2. 按下 Ctrl+Shift+P 開啟指令區塊面板。

    3. 搜尋並選取「Tasks: Run Task」,然後選取「m2c: Copy」。 複製檔案可能需要幾分鐘。

    分析 VM 檔案系統並產生遷移計畫

    如要分析 VM 檔案系統並產生遷移計畫,請執行下列步驟:

    1. 按下 Ctrl+Shift+P 開啟指令區塊面板。

    2. 搜尋並選取「Tasks: Run Task」,然後選取「m2c: Analyze」

      如果分析工作失敗,您需要透過 analyze-args.ini 檔案修改遷移參數。這個檔案的每一行代表一個參數,並附上參數的相關說明文件。

      分析成功後,Cloud Code 會建立名為 migration-plan 的目錄,其中包含 config.yaml 檔案形式的分析結果。您可以編輯這個檔案,變更構件的產生方式。

      config.yaml 檔案的結構會因遷移類型而異。 如要進一步瞭解支援的遷移類型,請參閱下列頁面:

    產生構件

    如要產生構件,您需要在 IDE 中執行「Generate」工作。如果您尚未執行前幾節中的「複製」和「分析」工作,「產生」工作會在產生構件前自動執行這兩項工作。

    如要產生構件,請執行下列步驟:

    1. 按下 Ctrl+Shift+P 開啟指令區塊面板。

    2. 搜尋並選取「Tasks: Run Task」,然後選取「m2c: Generate」。 這會在 src 目錄中產生構件,其中包含用於建構及部署容器映像檔的 skaffold.yaml 檔案。每種遷移類型都會產生不同的構件,但通常都會建立一或多個 Dockerfile 和 GKE 部署規格,並由 skaffold.yaml 參照。

      生成構件完成後,應用程式的重新平台化作業就完成了!

    3. 選用:如要修改遷移計畫,請編輯 config.yaml 檔案,然後重新執行 m2c: Generate 工作。

      如果對平台轉換結果感到滿意,可以在 GKE 容器中執行應用程式

    在 GKE 容器中執行應用程式

    在本節中,您將在 GKE 容器中執行重新平台化的應用程式、查看執行中應用程式的記錄,並清除資源。

    如果您尚未建立及設定 GKE 叢集,請按照「在 Cloud Code for VS Code 中建立及設定 GKE 叢集」一文中的操作說明進行。

    如要進一步瞭解如何偵錯 GKE 應用程式,請參閱「使用 Cloud Code for VS Code 偵錯 Kubernetes 應用程式」。

    執行及查看應用程式

    現在已完成所有設定,可以執行應用程式並即時查看。 Cloud Code 會監看檔案系統的變更,方便您即時編輯及重新執行應用程式。

    如要執行應用程式,請按照下列步驟操作:

    1. 在 Cloud Code 狀態列中,按一下有效專案名稱。

      狀態列中的有效專案名稱

    2. 在隨即顯示的「快速挑選」選單中,選取「在 Kubernetes 中執行」

    3. 確認是否要使用目前的叢集環境,或切換至其他環境。

    4. 如果系統顯示提示,請選擇要將映像檔推送至哪個映像檔登錄服務。如果使用 gcr.io/PROJECT_ID 建立新的映像檔登錄檔,請確保映像檔登錄檔與叢集位於同一個專案中。

      輸出視窗會隨即顯示,您可以在此追蹤執行中應用程式的進度。終端機輸出內容也會顯示執行中 Pod 的記錄直播。

    5. 應用程式在 Kubernetes 上執行後,輸出視窗會顯示 IP 位址。如要使用這個連結的 IP 位址存取應用程式,請按住 Ctrl 鍵並點選該位址。

    偵錯工作階段開始後,「開發工作階段」窗格會顯示結構化記錄檢視畫面。工作開始後,工作會顯示旋轉的半圓形 progress_activity

    如果工作成功,步驟旁會顯示勾號 check_circle

    如要查看步驟詳細資料,請在「Development session」(開發工作階段) 窗格中點按該步驟。「輸出」窗格會顯示記錄輸出內容中的步驟。

    清除所用資源

    停止應用程式後,系統會自動刪除執行期間部署的所有 Kubernetes 資源。

    如要避免系統向您的帳戶收取本快速入門指南中所用其他資源的相關費用,請務必刪除專案或您建立的叢集 (如要重複使用專案)。

    如要刪除叢集:

    1. 按一下 「Cloud Code」,然後展開「Kubernetes」探索工具。
    2. 將指標懸停在叢集名稱上,然後按一下「open_in_new」open_in_new「在控制台中開啟」 Trusted Cloud
    3. 按一下「Delete」(刪除),然後點選「Delete」(刪除)

    如要刪除專案 (和相關聯的資源,包括任何叢集),請按照下列步驟操作:

    1. In the Trusted Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    如要刪除在平台轉換程序中建立的所有本機檔案,請按照下列步驟操作:

    1. 開啟指令面板 (Ctrl+Shift+P)。
    2. 搜尋並選取「Tasks: Run Task」,然後選取「m2c: Cleanup」