Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule dowiesz się, jak konteneryzować aplikacje ASP.NET i migrować je do usługi Azure App Service przy użyciu narzędzia konteneryzacji aplikacji usługi Azure Migrate. Proces konteneryzacji nie wymaga dostępu do bazy kodu i zapewnia łatwy sposób konteneryzowania istniejących aplikacji. Narzędzie działa przy użyciu stanu działania aplikacji na serwerze w celu określenia składników aplikacji. Następnie pomaga zapakować je w obraz kontenera. Następnie można wdrożyć konteneryzowaną aplikację w usłudze Azure App Service.
Narzędzie do konteneryzacji aplikacji usługi Azure Migrate obecnie obsługuje:
- Konteneryzowanie ASP.NET aplikacji i wdrażanie ich w kontenerach systemu Windows w usłudze App Service.
- Konteneryzowanie aplikacji ASP.NET i wdrażanie ich w kontenerach systemu Windows w usłudze Azure Kubernetes Service (AKS). Dowiedz się więcej na temat tego scenariusza konteneryzacji.
- Konteneryzowanie aplikacji internetowych Java na serwerze Apache Tomcat (na serwerach z systemem Linux) i wdrażanie ich w kontenerach systemu Linux w usłudze AKS. Dowiedz się więcej na temat tego scenariusza konteneryzacji.
- Konteneryzowanie aplikacji internetowych Java na serwerze Apache Tomcat (na serwerach z systemem Linux) i wdrażanie ich w kontenerach systemu Linux w usłudze App Service. Dowiedz się więcej na temat tego scenariusza konteneryzacji.
Narzędzie konteneryzacji aplikacji ułatwia:
- Odnajdywanie składników aplikacji. Narzędzie zdalnie łączy się z serwerami aplikacji, na których działa aplikacja ASP.NET i odnajduje składniki aplikacji. Tworzy plik Dockerfile, którego można użyć do utworzenia obrazu kontenera dla aplikacji.
- Skompiluj obraz kontenera. Możesz sprawdzić i dodatkowo dostosować plik Dockerfile na podstawie wymagań aplikacji i użyć go do skompilowania obrazu kontenera aplikacji. Obraz kontenera aplikacji jest wypychany do określonego rejestru kontenerów platformy Azure.
- Wdróż na Azure App Service. Następnie narzędzie generuje pliki wdrożenia potrzebne do wdrożenia konteneryzowanej aplikacji w usłudze aplikacja systemu Azure Service.
Uwaga
Narzędzie konteneryzacji aplikacji usługi Azure Migrate ułatwia odnajdywanie określonych typów aplikacji (ASP.NET i aplikacji internetowych Java w usłudze Apache Tomcat) oraz ich składników na serwerze aplikacji. Aby odnaleźć serwery i spis aplikacji, ról i funkcji działających na komputerach lokalnych, użyj narzędzia Do odnajdywania i oceny usługi Azure Migrate.
Nie wszystkie aplikacje będą korzystać z prostego przejścia do kontenerów bez znaczącej zmiany architektury. Jednak niektóre korzyści wynikające z przenoszenia istniejących aplikacji do kontenerów bez ponownego zapisywania to:
- Ulepszone wykorzystanie infrastruktury. W przypadku korzystania z kontenerów wiele aplikacji może współużytkować zasoby i być hostowane w tej samej infrastrukturze. Może to pomóc w konsolidacji infrastruktury i poprawienia wykorzystania.
- Uproszczone zarządzanie. Hostując aplikacje na nowoczesnych platformach zarządzanych, takich jak AKS i App Service, możesz uprościć praktyki zarządzania. To uproszczenie można osiągnąć, przechodząc na emeryturę lub zmniejszając procesy konserwacji infrastruktury i zarządzania, które tradycyjnie były wykonywane z infrastrukturą własnością.
- Przenośność aplikacji. Dzięki zwiększonej wdrożeniu i standaryzacji formatów i platform specyfikacji kontenerów przenośność aplikacji nie jest już problemem.
- Wdrażanie nowoczesnego zarządzania przy użyciu metodyki DevOps. Korzystanie z kontenerów ułatwia wdrażanie i standaryzację nowoczesnych rozwiązań dotyczących zarządzania i zabezpieczeń oraz przechodzenia do metodyki DevOps.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Konfigurowanie konta platformy Azure.
- Zainstaluj narzędzie konteneryzacji aplikacji usługi Azure Migrate.
- Odnajdź aplikację ASP.NET.
- Skompiluj obraz kontenera.
- Wdróż konteneryzowaną aplikację w usłudze App Service.
Uwaga
Samouczki zawierają najprostszą ścieżkę wdrażania dla scenariusza, dzięki czemu można szybko skonfigurować weryfikację koncepcji. W samouczkach są używane opcje domyślne, jeśli jest to możliwe i nie są wyświetlane wszystkie ustawienia i ścieżki.
Wymagania wstępne
Przed rozpoczęciem tego samouczka należy wykonać następujące elementy:
Wymaganie | Szczegóły |
---|---|
Identyfikowanie maszyny, na której ma zostać zainstalowane narzędzie | Potrzebujesz maszyny z systemem Windows, na której można zainstalować i uruchomić narzędzie konteneryzacji aplikacji usługi Azure Migrate. Komputer z systemem Windows może uruchomić serwer (Windows Server 2016 lub nowszy) lub klienta (Windows 10) systemu operacyjnego. (Narzędzie może działać na pulpicie). Maszyna z systemem Windows z uruchomionym narzędziem powinna mieć łączność sieciową z serwerami lub maszynami wirtualnymi hostujących aplikacje ASP.NET, które będą konteneryzować. Upewnij się, że na maszynie z systemem Windows z uruchomionym narzędziem konteneryzacji aplikacji usługi Azure Migrate jest dostępne 6 GB. To miejsce na przechowywanie elementów aplikacji. Komputer z systemem Windows powinien mieć dostęp do Internetu, bezpośrednio lub za pośrednictwem serwera proxy. Jeśli narzędzie Microsoft Web Deployment nie zostało jeszcze zainstalowane na maszynie z uruchomionym narzędziem konteneryzacji aplikacji i serwerem aplikacji, zainstaluj je. Narzędzie można pobrać. |
Serwery aplikacji | Włącz zdalną obsługę programu PowerShell na serwerach aplikacji: zaloguj się do serwera aplikacji i postępuj zgodnie z tymi instrukcjami, aby włączyć zdalną obsługę programu PowerShell. Upewnij się, że na serwerze aplikacji jest zainstalowany program PowerShell 5.1. Postępuj zgodnie z instrukcjami w temacie Instalowanie i konfigurowanie programu WMF 5.1 na serwerze aplikacji. Jeśli narzędzie Microsoft Web Deployment nie zostało jeszcze zainstalowane na maszynie z uruchomionym narzędziem konteneryzacji aplikacji i serwerem aplikacji, zainstaluj je. Narzędzie można pobrać. |
aplikacja ASP.NET | Narzędzie obecnie obsługuje:
Narzędzie obecnie nie obsługuje następujących funkcji:
|
Przygotowywanie konta użytkownika platformy Azure
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto .
Po skonfigurowaniu subskrypcji potrzebne będzie konto użytkownika platformy Azure z:
- Uprawnienia właściciela subskrypcji platformy Azure.
- Uprawnienia do rejestrowania aplikacji Microsoft Entra.
Jeśli bezpłatne konto platformy Azure zostało właśnie utworzone, jesteś właścicielem subskrypcji. Jeśli nie jesteś właścicielem subskrypcji, skontaktuj się z właścicielem, aby przypisać uprawnienia w następujący sposób:
W witrynie Azure Portal wyszukaj frazę "subskrypcje". W obszarze Usługi wybierz pozycję Subskrypcje:
Na stronie Subskrypcje wybierz subskrypcję, w której chcesz utworzyć projekt usługi Azure Migrate.
W subskrypcji w okienku po lewej stronie wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).
Na karcie Sprawdź dostęp wyszukaj odpowiednie konto użytkownika.
W obszarze Dodawanie przypisania roli wybierz pozycję Dodaj:
Na stronie Dodawanie przypisania roli wybierz rolę Właściciel , a następnie wybierz konto (azmigrateuser w naszym przykładzie). Następnie wybierz pozycję Zapisz.
Twoje konto platformy Azure wymaga również uprawnień do rejestrowania aplikacji firmy Microsoft Entra.
W Azure Portal przejdź do Microsoft Entra ID > Użytkownicy > Ustawienia użytkownika.
W obszarze Ustawienia użytkownika sprawdź, czy użytkownicy firmy Microsoft Entra mogą rejestrować aplikacje. (Ta opcja jest domyślnie ustawiona na Wartość Tak ).
Ważne
Firma Microsoft zaleca używanie ról z najmniejszymi uprawnieniami. Pomaga to zwiększyć bezpieczeństwo organizacji. Administrator globalny to wysoce uprzywilejowana rola, która powinna być ograniczona do scenariuszy awaryjnych, gdy nie można użyć istniejącej roli.
Jeśli opcja Rejestracje aplikacji jest ustawiona na Nie, poproś administratora dzierżawy/globalnego o przypisanie wymaganych uprawnień. Alternatywnie, administrator dzierżawy lub globalny może przypisać konto do roli dewelopera aplikacji, aby umożliwić rejestrację aplikacji Microsoft Entra. Aby uzyskać więcej informacji, zobacz Przypisywanie ról do użytkowników.
Pobieranie i instalowanie narzędzia konteneryzacji aplikacji usługi Azure Migrate
Pobierz instalator konteneryzacji aplikacji usługi Azure Migrate na maszynie z systemem Windows.
Otwórz program PowerShell w trybie administratora i zmień katalog programu PowerShell na folder zawierający instalator.
Uruchom skrypt instalacji przy użyciu tego polecenia:
.\AppContainerizationInstaller.ps1
Uwaga
W systemie Windows Server 2022 edytuj wiersz 135 i usuń PowerShell-ISE
z listy funkcji, ponieważ nie jest już obsługiwany.
Otwieranie narzędzia konteneryzacji aplikacji
Otwórz przeglądarkę na dowolnej maszynie, która może połączyć się z maszyną z systemem Windows, na którym jest uruchomione narzędzie konteneryzacji aplikacji. Przejdź do adresu URL narzędzia: https://nazwa maszyny lub adres IP: 44369.
Alternatywnie możesz otworzyć aplikację z poziomu pulpitu przy użyciu skrótu aplikacji.
Jeśli zostanie wyświetlone ostrzeżenie informujące, że połączenie nie jest prywatne, wybierz pozycję Zaawansowane i przejdź do witryny internetowej. To ostrzeżenie jest wyświetlane, ponieważ interfejs internetowy używa certyfikatu TLS/SSL z podpisem własnym.
Na ekranie logowania zaloguj się przy użyciu konta administratora lokalnego komputera.
Wybierz ASP.NET aplikacje internetowe jako typ aplikacji, którą chcesz konteneryzować.
Na liście Docelowa usługa platformy Azure wybierz pozycję Kontenery w usłudze Azure App Service:
Wypełnij wymagania wstępne dla narzędzia
- Zaakceptuj postanowienia licencyjne i przeczytaj informacje innych firm.
- W aplikacji internetowej narzędzia Konfigurowanie wymagań wstępnych wykonaj następujące kroki:
Łączność. Narzędzie sprawdza, czy komputer z systemem Windows ma dostęp do Internetu. Jeśli maszyna używa serwera proxy:
Wybierz pozycję Skonfiguruj serwer proxy , aby określić adres serwera proxy (w postaci adres IP lub nazwa FQDN) i port nasłuchiwania.
Wprowadź poświadczenia, jeśli serwer proxy wymaga uwierzytelnienia.
Jeśli dodałeś szczegóły serwera proxy lub wyłączyłeś serwer proxy czy uwierzytelnianie, wybierz Zapisz, aby ponownie uruchomić sprawdzanie łączności.
Obsługiwane są tylko serwery proxy HTTP.
Instalowanie aktualizacji. Narzędzie automatycznie sprawdza dostępność najnowszych aktualizacji i instaluje je. Możesz również ręcznie zainstalować najnowszą wersję narzędzia.
Zainstaluj narzędzie Microsoft Web Deploy. Narzędzie sprawdza, czy narzędzie Microsoft Web Deployment jest zainstalowane na maszynie z systemem Windows z uruchomionym narzędziem konteneryzacji aplikacji usługi Azure Migrate.
Włącz zdalne uruchamianie programu PowerShell. Narzędzie wyświetla monit, aby upewnić się, że zdalne uruchamianie programu PowerShell jest włączone na serwerach aplikacji, na których działają aplikacje ASP.NET, które chcesz skonteneryzować.
Logowanie się do platformy Azure
Wybierz pozycję Zaloguj się , aby zalogować się do konta platformy Azure.
Potrzebny jest kod urządzenia do uwierzytelniania za pomocą platformy Azure. Wybranie pozycji Zaloguj powinno spowodować otwarcie okna zawierającego kod urządzenia. Jeśli okno nie zostanie wyświetlone, upewnij się, że w przeglądarce wyłączono blokowanie wyskakujących okienek.
Wybierz pozycję Kopiuj kod i Zaloguj się, aby skopiować kod urządzenia i otworzyć monit logowania platformy Azure na nowej karcie przeglądarki:
Na nowej karcie wklej kod urządzenia i ukończ logowanie przy użyciu poświadczeń konta platformy Azure. Po zalogowaniu możesz zamknąć kartę przeglądarki i wrócić do interfejsu internetowego narzędzia konteneryzacji aplikacji.
Wybierz dzierżawę platformy Azure, której chcesz użyć.
Określ subskrypcję platformy Azure , której chcesz użyć.
Odnajdywanie aplikacji ASP.NET
Narzędzie konteneryzacji aplikacji łączy się zdalnie z serwerami aplikacji przy użyciu podanych poświadczeń i próbuje odnaleźć ASP.NET aplikacji hostowanych na serwerach aplikacji.
Określ adres IP serwera/nazwę FQDN oraz poświadczenia serwera z uruchomioną aplikacją ASP.NET, która powinna być używana do zdalnego nawiązywania połączenia z serwerem na potrzeby odnajdywania aplikacji.
- Należy podać poświadczenia dotyczące lokalnego administratora (Windows) na serwerze aplikacji.
- W przypadku kont domeny (użytkownik musi być administratorem na serwerze aplikacji), poprzedź nazwę użytkownika nazwą domeny w tym formacie: <domena\nazwa użytkownika>.
- W przypadku kont lokalnych (użytkownik musi być administratorem na serwerze aplikacji) prefiks nazwy użytkownika o nazwie hosta w tym formacie: <nazwa hosta\nazwa> użytkownika.
- Odnajdywanie aplikacji można uruchamiać dla pięciu serwerów jednocześnie.
Wybierz pozycję Weryfikuj , aby sprawdzić, czy serwer aplikacji jest osiągalny na maszynie z uruchomionym narzędziem i czy poświadczenia są prawidłowe. Po pomyślnej weryfikacji w kolumnie Stan zostanie wyświetlony stan Mapowany:
Wybierz pozycję Kontynuuj , aby uruchomić odnajdywanie aplikacji na wybranych serwerach aplikacji.
Po zakończeniu odnajdywania aplikacji wybierz aplikacje, które chcesz konteneryzować:
Określ nazwę kontenera docelowego dla każdej wybranej aplikacji. Określ nazwę kontenera jako <name:tag>, gdzie tag jest używany dla obrazu kontenera. Można na przykład określić docelową nazwę kontenera jako appname:v1.
Parametryzowanie konfiguracji aplikacji
Parametryzacja konfiguracji udostępnia ją jako parametr czasu wdrożenia. Parametryzacja umożliwia skonfigurowanie ustawienia podczas wdrażania aplikacji, w przeciwieństwie do tego, że jest on zakodowany na określonej wartości w obrazie kontenera. Na przykład ta opcja jest przydatna w przypadku takich parametrów, jak ciągi połączenia bazy danych.
Wybierz konfiguracje aplikacji , aby przejrzeć wykryte konfiguracje.
Wybierz parametry, które chcesz sparametryzować, a następnie wybierz pozycję Zastosuj:
Zewnętrznienie zależności systemu plików
Możesz dodać inne foldery używane przez aplikację. Określ, czy powinny one być częścią obrazu kontenera czy powinny być wyewnętrznione do trwałej pamięci za pośrednictwem udostępnienia plików platformy Azure. Korzystanie z zewnętrznego magazynu trwałego doskonale sprawdza się w przypadku aplikacji stanowych, które przechowują stan poza kontenerem lub mają inną zawartość statyczną przechowywaną w systemie plików.
Wybierz pozycję Edytuj w obszarze Foldery aplikacji , aby przejrzeć wykryte foldery aplikacji. Te foldery zostały zidentyfikowane jako obowiązkowe artefakty wymagane przez aplikację. Zostaną one skopiowane do obrazu kontenera.
Wybierz pozycję Dodaj folder i określ ścieżki folderów, które chcesz dodać.
Aby dodać wiele folderów do tego samego woluminu, rozdziel wartości przecinkami.
Wybierz Udział plików Azure jako opcję magazynu, jeśli chcesz, aby foldery były przechowywane poza kontenerem w magazynie trwałym.
Po przejrzeniu folderów aplikacji wybierz pozycję Zapisz :
Wybierz pozycję Kontynuuj , aby przejść do fazy kompilacji obrazu kontenera.
Tworzenie obrazu kontenera
Z listy rozwijanej wybierz rejestr kontenerów platformy Azure , który będzie używany do kompilowania i przechowywania obrazów kontenerów dla aplikacji. Możesz użyć istniejącego rejestru kontenerów platformy Azure lub utworzyć nowy, wybierając pozycję Utwórz nowy rejestr:
Uwaga
Wyświetlane są tylko rejestry kontenerów platformy Azure z włączonym kontem użytkownika administratora. Konto użytkownika administratora jest obecnie wymagane do wdrożenia obrazu z rejestru kontenerów Azure do Azure App Service. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie za pomocą rejestru kontenerów platformy Azure.
Pliki Dockerfile potrzebne do skompilowania obrazów kontenerów dla każdej wybranej aplikacji są generowane na początku kroku kompilacji. Wybierz Przejrzyj, aby przejrzeć plik Dockerfile. Możesz również dodać wszelkie niezbędne dostosowania do pliku Dockerfile w kroku przeglądu i zapisać zmiany przed rozpoczęciem procesu kompilacji.
Wybierz aplikacje, dla których chcesz skompilować obrazy, a następnie wybierz pozycję Kompiluj. Wybranie pozycji Kompilacja spowoduje uruchomienie kompilacji obrazu kontenera dla każdej aplikacji. Narzędzie monitoruje stan kompilacji i umożliwi przejście do następnego kroku po zakończeniu kompilacji.
Postęp kompilacji można monitorować, wybierając pozycję Kompilacja w toku w kolumnie stan. Link stanie się aktywny kilka minut po rozpoczęciu procesu kompilacji.
Po zakończeniu kompilacji wybierz pozycję Kontynuuj , aby określić ustawienia wdrożenia:
Wdrażanie konteneryzowanej aplikacji w usłudze aplikacja systemu Azure
Po utworzeniu obrazu kontenera następnym krokiem jest wdrożenie aplikacji jako kontenera w usłudze Azure App Service.
Wybierz plan usługi Azure App Service, który aplikacja powinna używać.
Jeśli nie masz planu usługi App Service lub chcesz utworzyć nowy plan usługi App Service, możesz go utworzyć, wybierając pozycję Utwórz nowy plan usługi App Service.
Po wybraniu planu usługi App Service wybierz pozycję Kontynuuj .
W przypadku sparametryzowanych konfiguracji aplikacji określ magazyn sekretów do zastosowania przez aplikację. Możesz wybrać Azure Key Vault lub ustawienia aplikacji App Service, aby zarządzać tajnymi danymi aplikacji. Aby uzyskać więcej informacji, zobacz Konfigurowanie parametrów połączenia.
- Jeśli wybrałeś ustawienia aplikacji App Service do zarządzania tajnymi danymi, wybierz Kontynuuj.
- Jeśli chcesz użyć usługi Azure Key Vault do zarządzania tajnymi danymi aplikacji, wskaż magazyn kluczy, którego chcesz użyć.
- Jeśli nie masz usługi Azure Key Vault lub chcesz utworzyć nowy magazyn kluczy, możesz go utworzyć, wybierając pozycję Utwórz nową usługę Azure Key Vault.
- Narzędzie automatycznie przypisze niezbędne uprawnienia do zarządzania sekretami za pośrednictwem skarbca kluczy.
Jeśli dodano więcej folderów i wybrano opcję Udziału plików platformy Azure dla magazynu trwałego, określ udział plików platformy Azure, który ma być używany przez narzędzie konteneryzacji aplikacji podczas wdrażania. Narzędzie skopiuje foldery aplikacji skonfigurowane dla usługi Azure Files i zainstaluje je w kontenerze aplikacji podczas wdrażania.
Jeśli nie masz udziału plików Azure lub chcesz utworzyć nowy udział plików Azure, możesz go utworzyć, wybierając opcję Utwórz nowe konto magazynu i udział plików.
Teraz należy określić konfigurację wdrożenia dla aplikacji. Wybierz pozycję Konfiguruj , aby dostosować wdrożenie aplikacji. W kroku konfigurowania można podać następujące dostosowania:
- Nazwa. Określ unikatową nazwę aplikacji. Ta nazwa będzie używana do generowania adresu URL aplikacji. Będzie on również używany jako prefiks dla innych zasobów utworzonych w ramach wdrożenia.
- Konfiguracja aplikacji. W przypadku wszystkich konfiguracji aplikacji, które są sparametryzowane, podaj wartości do użycia dla bieżącego wdrożenia.
- Konfiguracja magazynu. Przejrzyj informacje dotyczące wszystkich folderów aplikacji skonfigurowanych do przechowywania trwałego.
Po zapisaniu konfiguracji wdrożenia dla aplikacji, narzędzie wygeneruje plik YAML wdrożenia Kubernetes dla tej aplikacji.
Wybierz pozycję Przejrzyj , aby przejrzeć konfigurację wdrożenia dla aplikacji.
Wybierz aplikacje, które chcesz wdrożyć.
Wybierz pozycję Wdróż , aby rozpocząć wdrażanie dla wybranych aplikacji.
Po wdrożeniu aplikacji możesz wybrać kolumnę Stan wdrożenia , aby śledzić zasoby wdrożone dla aplikacji.
Rozwiązywanie problemów
Aby rozwiązać problemy z narzędziem Konteneryzacja aplikacji, możesz przyjrzeć się plikom dziennika na maszynie z systemem Windows, na której jest uruchomione narzędzie. Pliki dziennika narzędzia znajdują się w folderze C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs.
Następne kroki
- Konteneryzowanie ASP.NET aplikacji internetowych i wdrażanie ich w kontenerach systemu Windows w usłudze AKS
- Konteneryzowanie aplikacji internetowych Java na serwerze Apache Tomcat (na serwerach z systemem Linux) i wdrażanie ich w kontenerach systemu Linux w usłudze AKS
- Konteneryzowanie aplikacji internetowych Java na serwerze Apache Tomcat (na serwerach z systemem Linux) i wdrażanie ich w kontenerach systemu Linux w usłudze App Service