將 ASP.NET Web 應用程式現代化至 Azure Kubernetes Service (預覽)

本文說明如何使用 Azure Migrate 大規模將 ASP.NET Web 應用程式移轉至 Azure Kubernetes Service 。 目前,此流程僅支援在 VMware 上執行的 web 應用程式 ASP.NET。 針對其他環境,請遵循 下列步驟

注意

教學課程說明案例最簡單的部署路徑,以便快速設定概念證明。 教學課程會盡可能使用預設選項,而且不會顯示所有可能的設定和路徑。

在本教學課程中,您將了解如何:

  • 選擇並準備大規模 ASP.NET Web 應用程式,以使用 Azure Migrate 中的整合流程移轉至 Azure Kubernetes Service
  • 設定目標設定,例如要執行和複寫應用程式的應用程式實例數目。
  • 執行測試移轉,以確保您的應用程式正確啟動。
  • 執行將應用程式完整移轉至 AKS。

必要條件

開始本教學課程之前,您應該先處理下列事項:

限制

  • 您可以使用 Microsoft .NET Framework 3.5 或更新版本移轉 ASP.NET 應用程式。
  • 您可以移轉執行 Windows Server 2012 R2 或更新版本的應用程式伺服器(應用程式伺服器應該執行 PowerShell 5.1 版)。
  • 應用程式應該執行 Internet Information Services (IIS) 7.5 或更新版本。

啟用複寫

評估 Web 應用程式之後,您可以使用 Azure Migrate 中的整合式移轉流程來移轉它們。 此程式中的第一個步驟是設定並開始複寫 Web 應用程式。

指定意圖

  1. 流覽至您的 Azure Migrate 專案>伺服器、資料庫和 Web 應用程式>移轉工具>移轉和現代化,選取 [複寫]。

    Screenshot of the Replicate option selected.

  2. 在 [指定意圖] 索引標籤中,>從下拉式清單中選取 [ASP.NET Web 應用程式

  3. 在 [您要移轉至何處?] 中,選取 [Azure Kubernetes Service (AKS)]。

  4. 在 [虛擬化] 類型中,選取 [VMware vSphere]。

  5. 內部部署設備中,選擇探索到 vSphere 上所需 Web 應用程式的設備。

  6. 選取 [繼續]。

    Screenshot of the specify intent tab.

從探索到的應用程式中選擇

在 [>寫 Web 應用程式] 中,您可以看到在您的環境中探索到的 ASP.NET 應用程式清單。

Screenshot of the Web apps tab on the Replicate tab.

  1. 選擇應該複寫的一或多個應用程式。

  2. [現代化狀態] 資料行指出應用程式在 AKS 上執行的整備程度。 這可能需要下列其中一個值 - 就緒錯誤(s)進行中的複寫。

  3. 選取應用程式,然後選取 [應用程式組態] 連結,以開啟 [應用程式組態] 索引標籤。這會提供從探索到的組態檔偵測到的屬性清單。 輸入必要的屬性值,然後選取 [ 儲存]。 這些組態會直接儲存在目標叢集上作為祕密,或可以使用 Azure Key Vault 掛接。 這可以在進階設定中設定。

    Screenshot of the Application configurations tab.

  4. 選取應用程式,然後選取 [應用程式目錄] 連結以開啟 [應用程式目錄] 索引標籤。提供需要複製以供應用程式執行的資料夾/檔案的路徑,然後選取 [儲存]。 根據從下拉式清單選取的選項,這些成品會直接複製到容器映像,或透過 Azure 檔案共用掛接為叢集上的持續性磁碟區。 如果您選擇永續性磁碟區,則可以在進階設定中設定目標。

    Screenshot of the Application directories tab.

  5. 針對使用 Windows 驗證 的應用程式,以驗證類型表示,您可以在目標 AKS 叢集上設定 gMSA V2。

    Screenshot of the gMSA configuration tab.

    設定 註解
    帳戶名稱 要使用的 gMSA 帳戶名稱。 如果帳戶不存在,系統會自動建立具有此名稱的新帳戶。
    帳戶用戶名稱 授權存取域控制器上設定之 gMSA 的標準網域用戶名稱。 如果指定的使用者名稱不存在,系統會自動建立新的標準網域使用者。
    帳戶密碼 上述用戶的密碼。
    網域 DNS 伺服器 DNS 伺服器的IP位址,可解析您的Active Directory功能變數名稱。
    網域 FQDN Active Directory 網域的完整功能變數名稱。
    域控制器位址 Active Directory 網域 控制器的IP位址。 連線 ion 會建立為遠端允許指定的網域使用者擷取指定 gMSA 的認證。
    網域管理員用戶名稱 具有足夠許可權的用戶名稱,可遠端驗證 gMSA 帳戶和網域使用者。
    網域管理員密碼 上述系統管理員用戶的密碼。
  6. 選取 [下一步]。

注意

應用程式組態和應用程式目錄的來源路徑和屬性值必須長度必須低於 3000 個字元。 這大致可以轉譯為大約15個專案(包括組態和目錄),字元長度約為200個。

設定目標設定

在 [>寫目標] 設定中,您可以設定將移轉應用程式的目標。

Screenshot of the Target settings tab on the Replicate tab.

  1. 選擇應推送應用程式容器映像的訂用帳戶、資源群組和容器登錄資源。
  2. 選擇應部署應用程式的訂用帳戶、資源群組和 AKS 叢集資源。
  3. 選取 [下一步]。

注意

只會列出具有 Windows 節點的 AKS 叢集。

設定部署設定

在 [複寫>部署設定] 中,您可以在 AKS 叢集上設定應用程式。

Screenshot of the Deployment settings tab on the Replicate tab.

  1. 預設值會根據應用程式探索提供。
  2. 在 [複本] 選項中,選擇每個應用程式的應用程式執行個體數目。
  3. 在 [負載平衡器] 選項中,如果應用程式需要透過網際網路存取,請選擇 [外部]。 如果您選擇 [內部],則應用程式只能在 AKS 叢集的虛擬網路內存取。
  4. 選取 [下一步]。

- 配置進階設定

如果 [複寫] > [Web 應用程式] 中有一或多個應用程式設定或目錄更新,則會使用 [複寫] > [進階] 來提供額外的必要設定。

Screenshot of the Advanced settings tab on the Replicate tab.

  1. 如果已提供應用程式組態,請選擇將其儲存為原生 Kubernetes 秘密,或使用秘密存放區 CSI 驅動程式在 Azure 金鑰保存庫。 確定目標叢集已啟用秘密存放區驅動程式附加元件。
  2. 如果已提供應用程式目錄的永續性儲存體選項,請選取用來儲存這些檔案的 Azure 檔案共用。
  3. 選取 [下一步]。

檢閱並開始複寫

瀏覽至 [複寫] 索引標籤上的右側索引標籤,以檢閱您的選取項目並進行任何必要的變更。檢閱之後,選取 [複寫]。

Screenshot of the Review + start replication tab on the Replicate tab.

為移轉做準備

開始復寫之後,Azure Migrate 會建立可從專案存取的複寫作業。

  1. 流覽至您的 Azure Migrate 專案>伺服器、資料庫和 Web 應用程式>移轉工具>移轉和現代化,選取 [概觀]。

    Screenshot of the Overview option selected.

  2. 選取 [Azure Migrate:伺服器移轉中樞>現代化][預覽][>作業]。

    Screenshot of the Jobs tab in the migration hub.

  3. 選取 [Azure Kubernetes Service][AKS] 作為復寫目標。 Azure Migrate 會為每個複寫的 ASP.NET 應用程式建立一個複寫工作。 選取 [建立或更新工作負載部署] 類型的工作負載部署作業。

    Screenshot of selecting the replication jobs.

  4. 選取 [ 目標 資源]。 您可以在這裡設定所有移轉前步驟。

    Screenshot of selecting the target resource within the replication job.

  5. 複寫完成後,[復寫狀態] 將會是 [已完成],而整體狀態將會是 [映射組建擱置]。

檢閱容器映像和 Kubernetes 資訊清單

在 [目標設定] 索引標籤中,會提供 Docker 檔案的連結和 Kubernetes 資訊清單。

Screenshot of the target settings in the target resource.

  1. 選取 Docker 檔案檢閱連結以開啟編輯器。 視需要檢閱並進行變更。 選取 [儲存]。

    Screenshot of the docker file editor in the target settings.

  2. 選取 [ 部署規格 檢閱] 連結以開啟編輯器。 這包括 Kubernetes 指令清單檔,其中包含將部署的所有資源,包括StatefulSetServiceServiceAccount 等。請視需要檢視並進行變更。 選取 [儲存]。

    Screenshot of the Kubernetes manifest file editor in the target settings.

  3. 在 [概觀] 索引卷標中,選取 [建置容器映射] 以建置容器映射,並將容器映射推送至提供的容器登錄。

  4. 建置映射之後,整體 狀態 會變更為 [ 準備好移轉]。

    Screenshot of the Target resource post building container image.

執行測試移轉

備妥容器映像後,執行測試移轉,以確保應用程式可在 AKS 上正確運作。

  1. 在 [概觀] 索引標籤中,選取 [測試移轉],然後選取 [是] 以確認。
  2. 測試移轉完成後,請驗證工作負載正在 AKS 叢集上執行。 如果在復寫過程中選擇外部負載平衡器選項,您的應用程式應該透過具有指派公用IP位址的類型 loadbalancer 服務向因特網公開。
  3. 確認應用程式正常運作之後,請選取 [清除測試移轉] 來清除測試移轉

如果測試移轉失敗:

  1. 流覽至 Azure Migrate:伺服器移轉中樞>現代化 (預覽)>作業。

  2. 選取失敗的起始 測試移 轉作業。

    Screenshot of the failed test migrate job.

  3. 選取失敗的工作連結,以查看可能的失敗原因和建議。

    Screenshot of the failed test migrate task.

移轉您的應用程式至 AKS

應用程式終於準備好進行移轉:

  1. 在 [概觀] 索引標籤中,選取 [移轉],然後選取 [是] 以確認。

    Screenshot of the target resource ready for migration.

  2. 類似於測試移轉工作流程,請驗證工作負載正在 AKS 叢集上執行。

  3. 應用程式現在已成功移轉。 如果您想要讓設備再次探索它,並讓它可供移轉使用,請選取 [ 完成移轉]。

下一步

成功將應用程式移轉至 AKS 之後,您可以探索下列文章,將應用程式優化為雲端: