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:
- Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
- Schließen Sie das erste Tutorial ab, um Web-Apps zu entdecken, die in Ihrer VMware-Umgebung laufen.
- Erstellen Sie ein neues Projekt, oder gehen Sie zum vorhandenen Projekt.
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
Navigieren Sie zu Ihrem Azure Migrate-Projekt >Server, Datenbanken und Web-Apps>Migrationstools>Migration und Modernisierung, und wählen Sie Replizieren aus.
Wählen Sie auf der Registerkarte Absicht angeben>Was möchten Sie migrieren? in der Dropdownliste ASP.NET-Web-Apps aus.
Wählen Sie in Wohin möchten Sie migrieren? die OptionAzure Kubernetes Service (AKS) aus.
Wählen Sie in Virtualisierungstyp VMware vSphere aus.
Wählen Sie in Lokale Appliance die Appliance aus, die Ihre gewünschten Web-Apps in vSphere ermittelt hat.
Wählen Sie Weiter.
Auswählen aus ermittelten Apps
Unter Replizieren>Web-Apps wird eine Liste der in Ihrer Umgebung ermittelten ASP.NET-Apps angezeigt.
Wählen Sie eine oder mehrere Anwendungen aus, die repliziert werden sollen.
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.
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.
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.
Für Anwendungen mit Windows-Authentifizierung (wie unter Authentifizierungstyp angegeben) können Sie gMSA V2 für den AKS-Zielcluster konfigurieren.
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. 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.
- Wählen Sie die Abonnement-, Ressourcengruppen- und Containerregistrierungsressource aus, in die die App-Containerimages per Push übertragen werden sollen.
- Wählen Sie die Abonnement-, Ressourcengruppen- und AKS-Clusterressource aus, für die die App bereitgestellt werden soll.
- 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.
- Standardwerte werden basierend auf der App-Ermittlung angegeben.
- Wählen Sie für die Option Replikat die Anzahl der App-Instanzen für jede App aus.
- 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.
- 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.
- 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.
- Wenn Anwendungsverzeichnisse mit einer Option für persistenten Speicher angegeben wurden, wählen Sie eine Azure-Dateifreigabe aus, um diese Dateien zu speichern.
- 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.
Vorbereiten der Migration
Nachdem Sie mit der Replikation begonnen haben, erstellt Azure Migrate einen Replikationsauftrag, auf den über Ihr Projekt zugegriffen werden kann.
Navigieren zur Zielressource
Navigieren Sie zu Ihrem Azure Migrate-Projekt >Server, Datenbanken und Web-Apps>Migrationstools>Migration und Modernisierung, und wählen Sie Übersicht aus.
Wählen Sie den Hub Azure Migrate: Servermigration>Modernisierung (Vorschau)>Aufträge aus.
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.
Wählen Sie die Ressource Ziel aus. Hier können alle Schritte vor der Migration konfiguriert werden.
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.
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 aus.
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 aus.Wählen Sie auf der Registerkarte Übersicht die Option Containerimage erstellen aus, um das Containerimage zu erstellen und an die bereitgestellte Containerregistrierung zu pushen.
Nachdem das Image erstellt wurde, ändert sich der Gesamtstatus in Bereit zur Migration.
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.
- Wählen Sie auf der Registerkarte Übersicht die Option Migration testen und dann Ja aus, um dies zu bestätigen.
- Ü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. - Nachdem Sie überprüft haben, ob die Anwendung funktioniert, bereinigen Sie die Testmigration, indem Sie Testmigration bereinigen auswählen.
Bei Fehlern in der Testmigration:
Navigieren Sie zum Hub Azure Migrate: Servermigration>Modernisierung (Vorschau)>Aufträge.
Wählen Sie den Auftrag Testmigration initiieren aus, bei dem ein Fehler aufgetreten ist.
Wählen Sie den Link der fehlgeschlagenen Aufgabe aus, um mögliche Fehlerursachen und Empfehlungen anzuzeigen.
Migrieren der Anwendungen zu AKS
Die Anwendung ist endlich bereit für die Migration:
Wählen Sie auf der Registerkarte Übersicht die Option Migrieren und dann Ja aus, um dies zu bestätigen.
Überprüfen Sie ähnlich wie beim Workflow der Testmigration, ob die Workloads im AKS-Cluster ausgeführt werden.
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:
- Einrichten von CI/CD mit Azure Pipelines, GitHub Actions oder über GitOps.
- Verwenden von Azure Monitor, um die Integrität und Leistung von AKS und Ihrer Apps zu überwachen.
- Härten des Sicherheitsstatus Ihres AKS-Clusters und Ihrer Container mit Microsoft Defender for Containers.
- Optimieren von Windows-Dockerfiles.
- Überprüfen und Implementieren bewährter Methoden zum Erstellen und Verwalten von Apps in AKS.