Modernisieren von ASP.NET-Web-Apps auf Azure Kubernetes Service (Vorschau)

In diesem Artikel wird beschrieben, wie Sie ASP.NET-Web-Apps mithilfe von Azure Migrate skaliert zu Azure Kubernetes Service migrieren können. Derzeit werden in diesem Prozess nur ASP.NET-Web-Apps unterstützt, die in VMware ausgeführt werden. Führen Sie für andere Umgebungen die folgenden Schritte aus.

Hinweis

In den Tutorials wird der einfachste Bereitstellungspfad für ein Szenario erläutert, damit Sie schnell einen Proof of Concept einrichten können. In den Tutorials werden nach Möglichkeit Standardoptionen verwendet und nicht alle möglichen Einstellungen und Pfade gezeigt.

In diesem Tutorial lernen Sie Folgendes:

  • Verwenden Sie den integrierten Prozess in Azure Migrate, um ASP.NET-Web-Apps skaliert für die Migration zu Azure Kubernetes Service auszuwählen und vorzubereiten.
  • Konfigurieren Sie Zieleinstellungen, z. B. die Anzahl der Anwendungsinstanzen zum Ausführen und Replizieren Ihrer Anwendungen.
  • Führen Sie Testmigrationen aus, um sicherzustellen, dass Ihre Anwendungen ordnungsgemäß gestartet werden.
  • Führen Sie eine vollständige Migration Ihrer Anwendungen zu AKS aus.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, sollten Sie Folgendes bedenken:

Einschränkungen

  • Sie können ASP.NET-Anwendungen mithilfe von Microsoft .NET Framework 3.5 oder höher migrieren.
  • Sie können Anwendungsserver unter Windows Server 2012 R2 oder höher migrieren (auf Anwendungsservern muss PowerShell, Version 5.1, ausgeführt werden).
  • Anwendungen müssen mit Internetinformationsdienste (IIS), Version 7.5 oder höher, ausgeführt werden.

Aktivieren der Replikation

Sobald die Web-Apps bewertet wurden, können Sie sie mithilfe des integrierten Migrationsflows in Azure Migrate migrieren. Der erste Schritt in diesem Prozess besteht darin, die Replikation Ihrer Web-Apps zu konfigurieren und zu beginnen.

Angeben der Absicht

  1. Navigieren Sie zu Ihrem Azure Migrate-Projekt >Server, Datenbanken und Web-Apps>Migrationstools>Migration und Modernisierung, und wählen Sie Replizieren aus.

    Screenshot of the Replicate option selected.

  2. Wählen Sie auf der Registerkarte Absicht angeben>Was möchten Sie migrieren? in der Dropdownliste ASP.NET-Web-Apps aus.

  3. Wählen Sie in Wohin möchten Sie migrieren? die OptionAzure Kubernetes Service (AKS) aus.

  4. Wählen Sie in VirtualisierungstypVMware vSphere aus.

  5. Wählen Sie in Lokale Appliance die Appliance aus, die Ihre gewünschten Web-Apps in vSphere ermittelt hat.

  6. Wählen Sie Continue (Weiter) aus.

    Screenshot of the specify intent tab.

Auswählen aus ermittelten Apps

Unter Replizieren>Web-Apps wird eine Liste der in Ihrer Umgebung ermittelten ASP.NET-Apps angezeigt.

Screenshot of the Web apps tab on the Replicate tab.

  1. Wählen Sie eine oder mehrere Anwendungen aus, die repliziert werden sollen.

  2. Die Spalte Modernisierungsstatus gibt an, ob die Anwendung in AKS ausgeführt werden kann. Einer der folgenden Werte ist möglich: Bereit, Fehler,Replikation wird ausgeführt.

  3. Wählen Sie die Anwendung und dann den Link App-Konfigurationen aus, um die Registerkarte „Anwendungskonfigurationen“ zu öffnen. Sie enthält die Liste der Attribute, die in den ermittelten Konfigurationsdateien erkannt wurden. Geben Sie die erforderlichen Attributwerte ein, und wählen Sie Speichern aus. Diese Konfigurationen werden entweder als Geheimnisse direkt im Zielcluster gespeichert oder können mithilfe von Azure Key Vault eingebunden werden. Dies kann in den erweiterten Einstellungen konfiguriert werden.

    Screenshot of the Application configurations tab.

  4. Wählen Sie die Anwendung und dann den Link App-Verzeichnisse aus, um die Registerkarte Anwendungsverzeichnisse zu öffnen. Geben Sie den Pfad zu Ordnern/Dateien an, die kopiert werden müssen, damit die Anwendung ausgeführt werden kann, und wählen Sie Speichern aus. Basierend auf der in der Dropdownliste ausgewählten Option werden diese Artefakte entweder direkt in das Containerimage kopiert oder als persistentes Volume über die Azure-Dateifreigabe im Cluster eingebunden. Wenn ein persistentes Volume ausgewählt wird, kann das Ziel in den erweiterten Einstellungen konfiguriert werden.

    Screenshot of the Application directories tab.

  5. Für Anwendungen mit Windows-Authentifizierung (wie unter Authentifizierungstyp angegeben) können Sie gMSA V2 für den AKS-Zielcluster konfigurieren.

    Screenshot of the gMSA configuration tab.

    Einstellung Kommentare
    Kontoname Name des gMSA-Kontos, das verwendet werden soll. Ist kein Konto vorhanden, wird automatisch ein neues Konto mit diesem Namen erstellt.
    Kontobenutzername Benutzername des Standarddomänenbenutzers mit der Berechtigung, auf das für Ihren Domänencontroller konfigurierte gMSA zugreifen zu können. Ist der angegebene Benutzername nicht vorhanden, wird automatisch ein neuer Standarddomänenbenutzer erstellt.
    Kontokennwort Kennwort für den oben genannten Benutzer.
    DNS-Server der Domäne IP-Adresse des DNS-Servers, der den Namen Ihrer Active Directory-Domäne auflösen kann.
    FQDN der Domäne Vollqualifizierter Domänenname Ihrer Active Directory-Domäne.
    Adresse des Domänencontrollers IP-Adresse des Active Directory-Domänencontrollers. Die Verbindung wird hergestellt, um dem angegebenen Domänenbenutzer das Abrufen der Anmeldeinformationen für das angegebene gMSA per Remotezugriff zu erlauben.
    Benutzername des Domänenadministrators Benutzername eines Benutzers mit ausreichenden Berechtigungen für die Remoteüberprüfung des gMSA-Kontos und Domänenbenutzers.
    Domänenadministratorkennwort Kennwort für den oben genannten Administratorbenutzer.
  6. Wählen Sie Weiter aus.

Hinweis

Der Quellpfad und der Attributwert der App-Konfigurationen und App-Verzeichnisse dürfen zusammen nur maximal 2.999 Zeichen enthalten. Dies entspricht etwa 15 Einträgen (für Konfigurationen als auch Verzeichnisse) mit einer Länge von jeweils etwa 200 Zeichen.

Konfigurieren von Einstellungen für das Ziel

Unter Replizieren>Zieleinstellungen können Sie das Ziel konfigurieren, zu dem die Anwendungen migriert werden sollen.

Screenshot of the Target settings tab on the Replicate tab.

  1. Wählen Sie die Abonnement-, Ressourcengruppen- und Containerregistrierungsressource aus, in die die App-Containerimages per Push übertragen werden sollen.
  2. Wählen Sie die Abonnement-, Ressourcengruppen- und AKS-Clusterressource aus, für die die App bereitgestellt werden soll.
  3. Wählen Sie Weiter aus.

Hinweis

Es werden nur AKS-Cluster mit Windows-Knoten aufgeführt.

Konfigurieren von Bereitstellungseinstellungen

Unter Replizieren>Bereitstellungseinstellungen können Sie die Anwendung im AKS-Cluster konfigurieren.

Screenshot of the Deployment settings tab on the Replicate tab.

  1. Standardwerte werden basierend auf der App-Ermittlung angegeben.
  2. Wählen Sie für die Option Replikat die Anzahl der App-Instanzen für jede App aus.
  3. Wählen Sie für die Option Lastenausgleich die Option Extern aus, wenn Internetzugriff auf die App möglich sein muss. Wenn Intern ausgewählt ist, kann auf die App nur innerhalb des virtuellen Netzwerks des AKS-Clusters zugegriffen werden.
  4. Wählen Sie Weiter aus.

Erweiterte Einstellungen konfigurieren

Wenn für eine oder mehrere Apps App-Konfigurationen oder -Verzeichnisse in Replizieren>Web-Apps aktualisiert wurden, wird Replizieren>Erweitert verwendet, um zusätzliche erforderliche Konfigurationen anzugeben.

Screenshot of the Advanced settings tab on the Replicate tab.

  1. Wenn Anwendungskonfigurationen bereitgestellt wurden, können Sie diese entweder als native Kubernetes-Geheimnisse oder mithilfe des Secrets Store CSI-Treibers in Azure Key Vault speichern. Stellen Sie sicher, dass für den Zielcluster das Add-On für den Secrets Store-Treiber aktiviert ist.
  2. Wenn Anwendungsverzeichnisse mit einer Option für persistenten Speicher angegeben wurden, wählen Sie eine Azure-Dateifreigabe aus, um diese Dateien zu speichern.
  3. Wählen Sie Weiter aus.

Überprüfen und Starten der Replikation

Überprüfen Sie Ihre Auswahl, und nehmen Sie weitere erforderliche Änderungen vor, indem Sie auf der Registerkarte Replizieren zur rechten Registerkarte navigieren. Wählen Sie nach der Überprüfung Replizieren aus.

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

Vorbereiten der Migration

Nachdem Sie mit der Replikation begonnen haben, erstellt Azure Migrate einen Replikationsauftrag, auf den über Ihr Projekt zugegriffen werden kann.

  1. Navigieren Sie zu Ihrem Azure Migrate-Projekt >Server, Datenbanken und Web-Apps>Migrationstools>Migration und Modernisierung, und wählen Sie Übersicht aus.

    Screenshot of the Overview option selected.

  2. Wählen Sie den Hub Azure Migrate: Servermigration>Modernisierung (Vorschau)>Aufträge aus.

    Screenshot of the Jobs tab in the migration hub.

  3. Wählen Sie Azure Kubernetes Service (AKS) als Replikationsziel aus. Azure Migrate erstellt einen Replikationsauftrag für jede replizierte ASP.NET-App. Wählen Sie den Auftrag Workloadbereitstellung erstellen oder aktualisieren mit dem Typ Workloadbereitstellung aus.

    Screenshot of selecting the replication jobs.

  4. Wählen Sie die Ressource Ziel aus. Hier können alle Schritte vor der Migration konfiguriert werden.

    Screenshot of selecting the target resource within the replication job.

  5. Nach Abschluss der Replikation ist für Replikationsstatus der Status Abgeschlossen angegeben, und der Gesamtstatus lautet Imageerstellung ausstehend.

Überprüfen des Containerimages und der Kubernetes-Manifeste

Auf der Registerkarte Zieleinstellungen werden Links zur Docker-Datei und zu den Kubernetes-Manifesten bereitgestellt.

Screenshot of the target settings in the target resource.

  1. Wählen Sie den Link Docker-Datei zur Überprüfung aus, um den Editor zu öffnen. Nehmen Sie die Überprüfung und nach Bedarf Änderungen vor. Wählen Sie Speichern.

    Screenshot of the docker file editor in the target settings.

  2. Wählen Sie den Link Bereitstellungsspezifikationen zur Überprüfung aus, um den Editor zu öffnen. Er enthält die Kubernetes-Manifestdatei mit allen Ressourcen, die bereitgestellt werden, einschließlich StatefulSet, Service, ServiceAccount usw. Nehmen Sie die Überprüfung und nach Bedarf Änderungen vor. Wählen Sie Speichern.

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

  3. Wählen Sie auf der Registerkarte Übersicht die Option Containerimage erstellen aus, um das Containerimage zu erstellen und an die bereitgestellte Containerregistrierung zu pushen.

  4. Nachdem das Image erstellt wurde, ändert sich der Gesamtstatus in Bereit zur Migration.

    Screenshot of the Target resource post building container image.

Ausführen einer Testmigration

Wenn das Containerimage bereit ist, führen Sie eine Testmigration aus, um sicherzustellen, dass Ihre Anwendung in AKS ordnungsgemäß gestartet wird.

  1. Wählen Sie auf der Registerkarte Übersicht die Option Migration testen und dann Ja aus, um dies zu bestätigen.
  2. Überprüfen Sie nach Abschluss der Testmigration, ob die Workloads im AKS-Cluster ausgeführt werden. Wenn die Option „Externer Lastenausgleich“ während des Replikationsprozesses ausgewählt wurde, sollte Ihre Anwendung über einen Dienst vom Typ loadbalancer mit einer zugewiesenen öffentlichen IP-Adresse für das Internet verfügbar gemacht werden.
  3. Nachdem Sie überprüft haben, ob die Anwendung funktioniert, bereinigen Sie die Testmigration, indem Sie Testmigration bereinigen auswählen.

Bei Fehlern in der Testmigration:

  1. Navigieren Sie zum Hub Azure Migrate: Servermigration>Modernisierung (Vorschau)>Aufträge.

  2. Wählen Sie den Auftrag Testmigration initiieren aus, bei dem ein Fehler aufgetreten ist.

    Screenshot of the failed test migrate job.

  3. Wählen Sie den Link der fehlgeschlagenen Aufgabe aus, um mögliche Fehlerursachen und Empfehlungen anzuzeigen.

    Screenshot of the failed test migrate task.

Migrieren der Anwendungen zu AKS

Die Anwendung ist endlich bereit für die Migration:

  1. Wählen Sie auf der Registerkarte Übersicht die Option Migrieren und dann Ja aus, um dies zu bestätigen.

    Screenshot of the target resource ready for migration.

  2. Überprüfen Sie ähnlich wie beim Workflow der Testmigration, ob die Workloads im AKS-Cluster ausgeführt werden.

  3. Die Anwendung wurde nun erfolgreich migriert. Wenn Sie möchten, dass die Appliance sie erneut ermittelt und für die Migration verfügbar macht, wählen Sie Migration abschließen aus.

Nächste Schritte

Nach der erfolgreichen Migration Ihrer Anwendungen zu AKS können Sie die folgenden Artikel lesen, um Ihre Apps für die Cloud zu optimieren: