ASP.NET kontejnerizace a migrace aplikací do služby Azure Kubernetes Service
V tomto článku se dozvíte, jak kontejnerizovat ASP.NET aplikace a migrovat je do služby Azure Kubernetes Service (AKS) pomocí nástroje Azure Migrate: Kontejnerizace aplikací. Proces kontejnerizace nevyžaduje přístup k základu kódu a poskytuje snadný způsob, jak kontejnerizovat existující aplikace. Nástroj funguje pomocí spuštěného stavu aplikací na serveru k určení komponent aplikace a pomáhá je zabalit do image kontejneru. Kontejnerizovaná aplikace se pak dá nasadit ve službě Azure Kubernetes Service (AKS).
Nástroj Azure Migrate: Kontejnerizace aplikací aktuálně podporuje:
- Kontejnerizace ASP.NET aplikací a jejich nasazení do kontejnerů Windows ve službě Azure Kubernetes Service
- Kontejnerizace ASP.NET aplikací a jejich nasazení do kontejnerů Windows ve službě Aplikace Azure Service Další informace.
- Kontejnerizace webových aplikací v Javě na Apache Tomcat (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu v AKS Další informace.
- Kontejnerizace webových aplikací v Javě na apache Tomcat (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu ve službě App Service Další informace.
Nástroj Azure Migrate: Kontejnerizace aplikací vám pomůže:
- Zjistěte aplikaci: Nástroj se vzdáleně připojí k aplikačním serverům, na kterých běží vaše ASP.NET aplikace, a zjistí součásti aplikace. Nástroj vytvoří soubor Dockerfile, který lze použít k vytvoření image kontejneru pro aplikaci.
- Sestavte image kontejneru: Soubor Dockerfile můžete zkontrolovat a dále přizpůsobit podle požadavků vaší aplikace a použít ji k sestavení image kontejneru aplikace. Image kontejneru aplikace se odešle do služby Azure Container Registry, kterou zadáte.
- Nasazení do služby Azure Kubernetes Service: Nástroj pak vygeneruje soubory YAML definice prostředku Kubernetes potřebné k nasazení kontejnerizované aplikace do clusteru Azure Kubernetes Service. Soubory YAML můžete přizpůsobit a použít je k nasazení aplikace v AKS.
Poznámka:
Nástroj Azure Migrate: Kontejnerizace aplikací pomáhá zjišťovat konkrétní typy aplikací (ASP.NET a webové aplikace Java v Apache Tomcat) a jejich komponenty na aplikačním serveru. Ke zjišťování serverů a inventáře aplikací, rolí a funkcí spuštěných na místních počítačích použijte Azure Migrate: Funkce zjišťování a hodnocení. Další informace
I když všechny aplikace nebudou mít přímý posun na kontejnery bez významné změny architektury, mezi výhody přesunu stávajících aplikací do kontejnerů patří:
- Vylepšené využití infrastruktury – S kontejnery může více aplikací sdílet prostředky a hostovat je ve stejné infrastruktuře. To vám může pomoct konsolidovat infrastrukturu a zlepšit využití.
- Zjednodušená správa – hostováním aplikací na moderní spravované platformě, jako je AKS a App Service, můžete zjednodušit postupy správy. Toho můžete dosáhnout vyřazením nebo snížením procesů údržby a správy infrastruktury, které byste tradičně prováděli s vlastní infrastrukturou.
- Přenositelnost aplikací – Se zvýšeným přechodem a standardizací formátů a platforem specifikace kontejnerů se přenositelnost aplikací už netýká.
- Přechod na moderní správu pomocí DevOps – pomůže vám přijmout a standardizovat moderní postupy pro správu a zabezpečení a přechod na DevOps.
V tomto kurzu se naučíte:
- Nastavte účet Azure.
- Nainstalujte nástroj Azure Migrate: Kontejnerizace aplikací.
- Objevte svou ASP.NET aplikaci.
- Sestavte image kontejneru.
- Nasaďte kontejnerizovanou aplikaci v AKS.
Poznámka:
Kurzy ukazují nejjednodušší cestu nasazení pro scénář, abyste mohli rychle nastavit testování konceptu. V těchto kurzech se v rámci možností používají jen výchozí možnosti a neuvádějí se všechny varianty nastavení ani všechny cesty.
Požadavky
Než začnete s tímto kurzem, musíte mít splněné následující požadavky:
Požadavek | Podrobnosti |
---|---|
Identifikace počítače pro instalaci nástroje | Počítač se systémem Windows pro instalaci a spuštění nástroje Azure Migrate: Kontejnerizace aplikací. Počítač s Windows může mít serverový (Windows Server 2016 nebo novější) nebo klientský (Windows 10) operační systém, což znamená, že tento nástroj je možné spustit i na stolním počítači. Počítač s Windows, na kterém nástroj běží, by měl mít síťové připojení k serverům nebo virtuálním počítačům hostujícím kontejnerizované aplikace ASP.NET. Zajistěte, aby na počítači s Windows, na kterém běží nástroj Azure Migrate: Kontejnerizace aplikací, bylo 6 GB volného místo k ukládání artefaktů aplikací. Tento počítač s Windows by měl mít přístup k internetu, a to buď přímo, nebo prostřednictvím proxy serveru. Nainstalujte nástroj Microsoft Web Deploy na počítač s pomocným nástrojem pro kontejnerizaci aplikací a aplikačním serverem, pokud ještě není nainstalovaný. Nástroj si můžete stáhnout odsud. |
Aplikační servery | Povolte vzdálenou komunikace PowerShellu na aplikačních serverech: Přihlaste se k aplikačnímu serveru a podle těchto pokynů zapněte vzdálenou vzdálenou komunikace PowerShellu. Ujistěte se, že je na serveru aplikace nainstalovaný PowerShell 5.1. Podle pokynů v části Instalace a konfigurace WMF 5.1 stáhněte a nainstalujte PowerShell 5.1 na aplikační server. Nainstalujte nástroj Microsoft Web Deploy na počítač s pomocným nástrojem pro kontejnerizaci aplikací a aplikačním serverem, pokud ještě není nainstalovaný. Nástroj si můžete stáhnout odsud. |
ASP.NET aplikace | Nástroj aktuálně podporuje: – ASP.NET aplikace používající rozhraní Microsoft .NET Framework 3.5 nebo novější. – Aplikační servery se systémem Windows Server 2012 R2 nebo novějším (aplikační servery by měly používat PowerShell verze 5.1). – Aplikace spuštěné na Internetová informační služba (IIS) 7.5 nebo novější. Nástroj aktuálně nepodporuje: – Aplikace vyžadující ověřování systému Windows (nástroj kontejnerizace aplikací v současné době nepodporuje gMSA). – Aplikace, které závisejí na jiných službách Windows hostovaných mimo IIS. |
Příprava uživatelského účtu Azure
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Po nastavení předplatného potřebujete uživatelský účet Azure s:
- Oprávnění vlastníka k předplatnému Azure.
- Oprávnění k registraci aplikací Microsoft Entra.
Pokud jste si právě vytvořili bezplatný účet Azure, jste vlastníkem vašeho předplatného. Pokud nejste vlastníkem předplatného, s vlastníkem přiřaďte oprávnění následujícím způsobem:
Na webu Azure Portal vyhledejte "předplatná" a v části Služby vyberte Předplatná.
Na stránce Předplatná vyberte předplatné, ve kterém chcete vytvořit projekt Azure Migrate.
Vyberte Řízení přístupu (IAM) .
Výběrem možnosti Přidat>přiřazení role otevřete stránku Přidat přiřazení role.
Přiřaďte následující roli. Podrobný postup najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal.
Nastavení Hodnota Role Vlastník Přiřadit přístup k Uživatelská Členové azmigrateuser (v tomto příkladu) Váš účet Azure také potřebuje oprávnění k registraci aplikací Microsoft Entra.
Na webu Azure Portal přejděte do uživatelských nastavení uživatelů>Microsoft Entra ID.>
V uživatelských nastaveních ověřte, že uživatelé Microsoft Entra mohou registrovat aplikace (ve výchozím nastavení je nastaveno na Ano ).
Důležité
Microsoft doporučuje používat role s nejmenšími oprávněními. To pomáhá zlepšit zabezpečení pro vaši organizaci. Globální správce je vysoce privilegovaná role, která by měla být omezená na scénáře tísňového volání, pokud nemůžete použít existující roli.
V případě, že je nastavení Registrace aplikací nastaveno na Ne, požádejte tenanta nebo globálního správce, aby přiřadil požadované oprávnění. Případně může správce tenanta nebo globálního správce přiřadit roli Vývojář aplikací k účtu, který umožní registraci aplikace Microsoft Entra. Další informace.
Stažení a instalace nástroje Azure Migrate: Kontejnerizace aplikací
Stáhněte si instalační program Azure Migrate: Kontejnerizace aplikací na počítači s Windows.
Spusťte PowerShell v režimu správce a změňte adresář PowerShellu na složku obsahující instalační program.
Spuštění instalačního skriptu pomocí příkazu
.\AppContainerizationInstaller.ps1
Poznámka:
V systému Windows Server 2022 upravte řádek 135 a odeberte PowerShell-ISE
ze seznamu funkcí, protože se už nepodporuje.
Spuštění nástroje Kontejnerizace aplikací
Otevřete prohlížeč na libovolném počítači, který se může připojit k počítači s Windows, na kterém běží nástroj Kontejnerizace aplikací, a otevřete adresu URL nástroje: https:// názvový název nebo IP adresa: 44369.
Případně můžete aplikaci otevřít z plochy tak, že vyberete zástupce aplikace.
Pokud se zobrazí upozornění s oznámením, že vaše připojení není soukromé, vyberte Upřesnit a zvolte přejít na web. Toto upozornění se zobrazí, protože webové rozhraní používá certifikát TLS/SSL podepsaný svým držitelem.
Na přihlašovací obrazovce se přihlaste pomocí účtu místního správce na počítači.
Jako typ aplikace, kterou chcete kontejnerizovat, vyberte ASP.NET webových aplikací .
Pokud chcete určit cílovou službu Azure, vyberte kontejnery ve službě Azure Kubernetes Service.
Kompletní požadavky nástroje
- Přijměte licenční podmínky a přečtěte si informace třetích stran.
- V nástrojové webové aplikaci >Nastavte požadované součásti:
- Připojení: Nástroj zkontroluje, jestli má počítač s Windows přístup k internetu. Pokud počítač používá proxy server:
- Vyberte Nastavit proxy a zadejte adresu proxy serveru (ve formulářové IP adrese nebo plně kvalifikovaném názvu domény) a port naslouchání.
- Pokud proxy server potřebuje přihlašovací údaje, zadejte je.
- Podporuje se jen proxy protokolu HTTP.
- Pokud jste přidali podrobnosti o proxy serveru nebo zakázali proxy server nebo ověřování, znovu vyberte Uložit a aktivujte kontrolu připojení.
- Instalace aktualizací: Nástroj automaticky vyhledá nejnovější aktualizace a nainstaluje je. Odsud můžete také ručně nainstalovat nejnovější verzi nástroje.
- Nainstalujte nástroj Microsoft Web Deploy: Nástroj zkontroluje, jestli je nástroj Microsoft Web Deploy nainstalovaný na počítači s Windows s nástrojem Azure Migrate: Kontejnerizace aplikací.
- Povolit vzdálené komunikace PowerShellu: Nástroj vás informuje, abyste měli jistotu, že je na aplikačních serverech, na kterých běží ASP.NET aplikace, které se mají kontejnerizovat, povolená komunikace PowerShellu.
- Připojení: Nástroj zkontroluje, jestli má počítač s Windows přístup k internetu. Pokud počítač používá proxy server:
Přihlášení k Azure
Vyberte Přihlásit se a přihlaste se ke svému účtu Azure.
K ověření v Azure budete potřebovat kód zařízení. Když vyberete při přihlášení , otevře se modální kód zařízení.
Vyberte Kopírovat kód a přihlaste se, zkopírujte kód zařízení a otevřete výzvu k přihlášení k Azure na nové kartě prohlížeče. Pokud se nezobrazí, ujistěte se, že jste v prohlížeči zakázali blokování automaticky otevíraných oken.
Na nové kartě vložte kód zařízení a dokončete přihlášení pomocí přihlašovacích údajů účtu Azure. Po dokončení přihlášení můžete zavřít kartu prohlížeče a vrátit se na obrazovku nástroje Kontejnerizace aplikací.
Vyberte tenanta Azure, kterého chcete použít.
Zadejte předplatné Azure, které chcete použít.
Zjišťování aplikací ASP.NET
Pomocný nástroj kontejnerizace aplikací se vzdáleně připojuje k aplikačním serverům pomocí zadaných přihlašovacích údajů a pokouší se zjistit ASP.NET aplikace hostované na aplikačních serverech.
Zadejte IP adresu nebo plně kvalifikovaný název domény a přihlašovací údaje serveru, na kterém běží aplikace ASP.NET, která by se měla použít k vzdálenému připojení k serveru pro zjišťování aplikací.
- Zadané přihlašovací údaje musí být místního správce (Windows) na aplikačním serveru.
- Pro účty domény (uživatel musí být správcem aplikačního serveru), předpona uživatelské jméno s názvem domény ve formátu <doména\uživatelské_jméno>.
- Zjišťování aplikací můžete spustit pro až pět serverů najednou.
Výběrem možnosti Ověřit ověřte , jestli je aplikační server dostupný z počítače, na kterém je spuštěný nástroj, a jestli jsou přihlašovací údaje platné. Po úspěšném ověření se ve sloupci stavu zobrazí stav mapovaný.
Výběrem možnosti Pokračovat spustíte zjišťování aplikací na vybraných aplikačních serverech.
Po úspěšném dokončení zjišťování aplikací můžete vybrat seznam aplikací, které se mají kontejnerizovat.
Pomocí zaškrtávacího políčka vyberte aplikace, které se mají kontejnerizovat.
Zadejte název kontejneru: Zadejte název cílového kontejneru pro každou vybranou aplikaci. Název kontejneru by se měl zadat jako <name:tag> , kde se značka používá pro image kontejneru. Můžete například zadat název cílového kontejneru jako název aplikace:v1.
Parametrizace konfigurací aplikací
Parametrizace konfigurace zpřístupňuje konfiguraci jako parametr času nasazení. Díky tomu můžete toto nastavení nakonfigurovat při nasazování aplikace na rozdíl od pevně zakódované na konkrétní hodnotu v imagi kontejneru. Tato možnost je například užitečná pro parametry, jako jsou databázové připojovací řetězec.
Vyberte konfigurace aplikací, abyste zkontrolovali zjištěné konfigurace.
Zaškrtnutím políčka parametrizujete zjištěné konfigurace aplikace.
Po výběru konfigurace pro parametrizaci vyberte Použít .
Externí závislosti systému souborů
Můžete přidat další složky, které vaše aplikace používá. Určete, jestli mají být součástí image kontejneru nebo se mají externalizovat prostřednictvím trvalých svazků ve sdílené složce Azure. Použití trvalých svazků funguje skvěle pro stavové aplikace, které ukládají stav mimo kontejner nebo mají jiný statický obsah uložený v systému souborů. Další informace.
Vyberte Upravit v části Složky aplikací a zkontrolujte zjištěné složky aplikace. Zjištěné složky aplikací byly identifikovány jako povinné artefakty potřebné aplikací a zkopírují se do image kontejneru.
Vyberte Přidat složky a zadejte cesty ke složkám, které se mají přidat.
Pokud chcete přidat více složek na stejný svazek, zadejte hodnoty oddělené čárkami (
,
).Vyberte trvalý svazek jako možnost úložiště, pokud chcete, aby složky byly uloženy mimo kontejner na trvalém svazku.
Po kontrole složek aplikace vyberte Uložit .
Výběrem možnosti Pokračovat přejděte do fáze sestavení image kontejneru.
Sestavení image kontejneru
Důležité
Pokud používáte AKS 1.23 nebo novější, před vytvořením image Dockeru upravte skripty, jak je znázorněno níže, abyste zajistili bezproblémovou migraci.
Změňte následující skript.
# Run entrypoint script.
COPY ./Entryscript.ps1 c:/Entryscript.ps1
ENTRYPOINT powershell c:/Entryscript.ps1
na
# Run entrypoint script.
COPY ["./Entryscript.ps1", "c:/Entryscript.ps1"]
ENTRYPOINT ["powershell", "c:/Entryscript.ps1"]
Pokud chcete sestavit image kontejneru, postupujte takto:
Vyberte Azure Container Registry: Pomocí rozevíracího seznamu vyberte Službu Azure Container Registry , která se použije k sestavení a uložení imagí kontejnerů pro aplikace. Můžete použít existující službu Azure Container Registry nebo můžete vytvořit novou pomocí možnosti Vytvořit nový registr.
Zkontrolujte soubor Dockerfile: Soubor Dockerfile potřebný k sestavení imagí kontejneru pro každou vybranou aplikaci se vygeneruje na začátku kroku sestavení. Výběrem možnosti Zkontrolovat zkontrolujte soubor Dockerfile. Před zahájením procesu sestavení můžete do souboru Dockerfile přidat také veškerá potřebná přizpůsobení souboru Dockerfile a změny uložit.
Proces sestavení triggeru: Vyberte aplikace, pro které se sestaví image, a vyberte Sestavit. Výběrem sestavení se spustí sestavení image kontejneru pro každou aplikaci. Nástroj nepřetržitě monitoruje stav sestavení a umožní vám přejít k dalšímu kroku po úspěšném dokončení sestavení.
Sledovat stav sestavení: Průběh kroku sestavení můžete sledovat také výběrem odkazu Build in Progress (Průběh sestavení) pod sloupcem stavu. Po aktivaci procesu sestavení trvá odkaz několik minut, než se aktivuje.
Po dokončení sestavení vyberte Pokračovat a zadejte nastavení nasazení.
Nasazení kontejnerizované aplikace v AKS
Po sestavení image kontejneru je dalším krokem nasazení aplikace jako kontejneru ve službě Azure Kubernetes Service (AKS).
Vyberte cluster Azure Kubernetes Service: Zadejte cluster AKS, do kterého se má aplikace nasadit.
- Vybraný cluster AKS musí mít fond uzlů Windows.
- Cluster musí být nakonfigurovaný tak, aby umožňoval načítání imagí ze služby Azure Container Registry, které bylo vybráno k uložení imagí.
- Spuštěním následujícího příkazu v Azure CLI připojte cluster AKS k ACR.
az aks update -n <cluster-name> -g <cluster-resource-group> --attach-acr <acr-name>
- Spuštěním následujícího příkazu v Azure CLI připojte cluster AKS k ACR.
- Pokud nemáte cluster AKS nebo chcete vytvořit nový cluster AKS pro nasazení aplikace, můžete se z nástroje rozhodnout vytvořit výběrem možnosti Vytvořit nový cluster AKS.
- Cluster AKS vytvořený pomocí nástroje se vytvoří s fondem uzlů Windows. Cluster bude nakonfigurovaný tak, aby umožňoval načíst image ze služby Azure Container Registry, která byla vytvořena dříve (pokud byla vybrána možnost vytvořit nový registr).
- Po výběru clusteru AKS vyberte Pokračovat .
Zadejte úložiště tajných kódů: Pokud jste se rozhodli parametrizovat konfigurace aplikace, zadejte úložiště tajných kódů, které se má použít pro aplikaci. Pro správu tajných kódů aplikací můžete zvolit nastavení služby Azure Key Vault nebo aplikace služby App Service. Další informace
- Pokud jste pro správu tajných kódů vybrali nastavení aplikace služby App Service, vyberte Pokračovat.
- Pokud chcete ke správě tajných kódů aplikací použít Azure Key Vault, zadejte službu Azure Key Vault, kterou chcete použít.
- Pokud nemáte Službu Azure Key Vault nebo chcete vytvořit novou službu Key Vault, můžete se z nástroje rozhodnout vytvořit výběrem možnosti Vytvořit novou službu Azure Key Vault.
- Nástroj automaticky přiřadí potřebná oprávnění ke správě tajných kódů prostřednictvím služby Key Vault.
Zadejte sdílenou složku Azure: Pokud jste přidali více složek a vybrali možnost Trvalý svazek, zadejte sdílenou složku Azure, kterou by měl během procesu nasazení používat nástroj Azure Migrate: Kontejnerizace aplikací. Nástroj vytvoří v této sdílené složce Azure nové adresáře pro kopírování přes složky aplikací, které jsou nakonfigurované pro trvalé úložiště svazků. Po dokončení nasazení aplikace nástroj vyčistí sdílenou složku Azure odstraněním vytvořených adresářů.
- Pokud sdílenou složku Azure nemáte nebo chcete vytvořit novou sdílenou složku Azure, můžete se z nástroje rozhodnout vytvořit výběrem možnosti Vytvořit nový účet úložiště a sdílenou složku.
Konfigurace nasazení aplikace: Po dokončení výše uvedených kroků budete muset zadat konfiguraci nasazení aplikace. Vyberte Konfigurovat a přizpůsobte nasazení aplikace. V kroku konfigurace můžete zadat následující přizpůsobení:
- Řetězec předpony: Zadejte řetězec předpony, který se má použít v názvu pro všechny prostředky vytvořené pro kontejnerizovanou aplikaci v clusteru AKS.
- Certifikát SSL: Pokud vaše aplikace vyžaduje vazbu webu https, zadejte soubor PFX obsahující certifikát, který se má použít pro vazbu. Soubor PFX by neměl být chráněný heslem a původní web by neměl mít více vazeb.
- Sady replik: Zadejte počet instancí aplikací (podů), které se mají spouštět v kontejnerech.
- Typ nástroje pro vyrovnávání zatížení: Vyberte externí , pokud by kontejnerizovaná aplikace měla být dostupná z veřejných sítí.
- Konfigurace aplikace: Pro všechny konfigurace aplikace, které byly parametrizovány, zadejte hodnoty, které se mají použít pro aktuální nasazení.
- Úložiště: U všech složek aplikací nakonfigurovaných pro trvalé úložiště svazků určete, jestli se má svazek sdílet mezi instancemi aplikace, nebo by se měl inicializovat jednotlivě s každou instancí v kontejneru. Ve výchozím nastavení jsou všechny složky aplikací na trvalých svazcích nakonfigurované jako sdílené.
- Výběrem možnosti Použít uložte konfiguraci nasazení.
- Vyberte Pokračovat a nasaďte aplikaci.
Nasazení aplikace: Jakmile se uloží konfigurace nasazení aplikace, nástroj vygeneruje YAML nasazení Kubernetes pro aplikaci.
Výběrem možnosti Zkontrolovat zkontrolujte a přizpůsobte YAML nasazení Kubernetes pro aplikace.
Vyberte aplikaci, která se má nasadit.
Výběrem možnosti Nasadit spustíte nasazení pro vybrané aplikace.
Po nasazení aplikace můžete vybrat sloupec Stav nasazení a sledovat prostředky nasazené pro aplikaci.
Stažení vygenerovaných artefaktů
Všechny artefakty, které se používají k sestavení a nasazení aplikace do AKS, včetně souborů specifikace Dockerfile a Kubernetes YAML, jsou uložené na počítači, na kterém nástroj běží. Artefakty se nacházejí v umístění C:\ProgramData\Microsoft Azure Migrate App Containerization.
Pro každý aplikační server se vytvoří jedna složka. Všechny přechodné artefakty použité v procesu kontejnerizace můžete zobrazit a stáhnout tak, že přejdete do této složky. Složka odpovídající aplikačnímu serveru se na začátku každého spuštění nástroje pro konkrétní server vyčistí.
Řešení potíží
Pokud chcete vyřešit případné problémy s nástrojem, můžete se podívat na soubory protokolu na počítači s Windows, na kterém běží nástroj Kontejnerizace aplikací. Soubory protokolů nástrojů se nacházejí ve složce C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs .
Další kroky
- Kontejnerizace ASP.NET webových aplikací a jejich nasazení do kontejnerů Windows ve službě App Service Další informace.
- Kontejnerizace webových aplikací v Javě na Apache Tomcat (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu v AKS Další informace.
- Kontejnerizace webových aplikací v Javě na Apache Tomcat (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu ve službě App Service Další informace.