ASP.NET kontejnerizace aplikací a migrace do Azure Kubernetes Service
V tomto článku se dozvíte, jak kontejnerizovat ASP.NET aplikace a migrovat je do 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 používá stav spuštění aplikací na serveru k určení komponent aplikace a pomáhá je zabalit do image kontejneru. Kontejnerizovanou aplikaci je pak možné nasadit ve službě Azure Kubernetes Service (AKS).
Nástroj Azure Migrate: Kontejnerizace aplikací v současné době podporuje:
- Kontejnerizace ASP.NET aplikací a jejich nasazení do kontejnerů Windows na Azure Kubernetes Service.
- Kontejnerizace ASP.NET aplikací a jejich nasazení do kontejnerů Windows na Azure App Service. Přečtěte si další informace.
- Kontejnerizace webových aplikací Java v Apache Tomcat (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu v AKS Přečtěte si další informace.
- Kontejnerizace webových aplikací v Javě v Apache Tomcat (na linuxových serverech) a jejich nasazení do linuxových kontejnerů na App Service Přečtěte si další informace.
Nástroj Azure Migrate: Kontejnerizace aplikací vám pomůže:
- Zjištění aplikace: 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.
- Sestavení image kontejneru: Dockerfile můžete zkontrolovat a dále přizpůsobit podle požadavků vaší aplikace a použít ho k sestavení image kontejneru aplikace. Image kontejneru aplikace se odešle do vámi zadaného Azure Container Registry.
- Nasazení do Azure Kubernetes Service: Nástroj pak vygeneruje soubory YAML definice prostředku Kubernetes potřebné k nasazení kontejnerizované aplikace do clusteru Azure Kubernetes Service. Můžete přizpůsobit soubory YAML a použít je k nasazení aplikace v AKS.
Poznámka
Nástroj Azure Migrate: Kontejnerizace aplikací pomáhá zjistit konkrétní typy aplikací (webové aplikace ASP.NET a 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ž pro všechny aplikace nebude přímý přechod na kontejnery výhodný bez významné změny architektury, mezi některé výhody přesunu stávajících aplikací do kontejnerů bez přepsání patří:
- Vylepšené využití infrastruktury – díky kontejnerům 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 omezením procesů údržby a správy infrastruktury, které jste tradičně prováděli s vlastní infrastrukturou.
- Přenositelnost aplikací – díky většímu přijetí a standardizaci formátů a platforem specifikace kontejnerů už přenositelnost aplikací není problém.
- Přechod na moderní správu pomocí DevOps – pomůže vám osvojovat 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í.
- Zjistěte 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č s Windows pro instalaci a spuštění nástroje Azure Migrate: Kontejnerizace aplikací. Počítač s Windows může být serverový (Windows Server 2016 nebo novější) nebo klientský (Windows 10) operační systém, což znamená, že nástroj může běžet i na 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. Ujistěte se, že je na počítači s Windows, na kterém běží nástroj Azure Migrate: Kontejnerizace aplikací, k dispozici 6 GB místa pro ukládání artefaktů aplikace. 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č, na kterém běží pomocný nástroj kontejnerizace aplikací a aplikační server, 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 komunikace PowerShellu. Pokud na aplikačním serveru běží Windows Server 2008 R2, ujistěte se, že je na aplikačním serveru nainstalovaný PowerShell 5.1. Pokud chcete stáhnout a nainstalovat PowerShell 5.1 na aplikační server, postupujte podle pokynů uvedených tady . Nainstalujte nástroj Microsoft Web Deploy na počítač, na kterém běží pomocný nástroj kontejnerizace aplikací a aplikační server, pokud ještě není nainstalovaný. Nástroj si můžete stáhnout odsud. |
ASP.NET aplikace | Nástroj aktuálně podporuje: – ASP.NET aplikací pomocí rozhraní Microsoft .NET Framework 3.5 nebo novějšího. – Aplikační servery se systémem Windows Server 2008 R2 nebo novějším (na aplikačních serverech by měl běžet PowerShell verze 5.1). – Aplikace spuštěné v Internetové informační službě (IIS) 7.5 nebo novější. Nástroj v současné době nepodporuje: – Aplikace vyžadující ověřování Systému Windows (nástroj Kontejnerizace aplikací v současné době nepodporuje gMSA). – Aplikace, které závisí na jiných službách Systému Windows hostovaných mimo službu 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 předplatného Azure.
- Oprávnění k registraci aplikací Azure Active Directory
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, ve spolupráci s vlastníkem přiřaďte oprávnění následujícím způsobem:
V 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) .
Vyberte Přidat Přidat>přiřazení role a 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řazování rolí Azure pomocí Azure Portal.
Nastavení Hodnota Role Vlastník Přiřadit přístup Uživatel Členové azmigrateuser (v tomto příkladu) Váš účet Azure také potřebuje oprávnění k registraci aplikací Azure Active Directory.
V Azure Portal přejděte naUživatelská nastaveníuživatelů>Azure Active Directory>.
V části Uživatelská nastavení ověřte, že Azure AD uživatelé můžou registrovat aplikace (ve výchozím nastavení je nastavená na Ano).
Pokud je nastavení Registrace aplikací nastavené na Ne, požádejte tenanta nebo globálního správce o přiřazení požadovaného oprávnění. Případně může tenant nebo globální správce účtu přiřadit roli Vývojář aplikací , aby se povolila registrace aplikace Azure Active Directory. Přečtěte si další informace.
Stažení a instalace služby Azure Migrate: Nástroj 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
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 App Containerization, a otevřete adresu URL nástroje: https:// názvový název počítače nebo IP adresa: 44369.
Případně můžete aplikaci otevřít z plochy výběrem zástupce aplikace.
Pokud se zobrazí upozornění, že vaše připojení není soukromé, vyberte Upřesnit a pokračujte 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é aplikace .
Pokud chcete zadat cílovou službu Azure, vyberte Kontejnery na Azure Kubernetes Service.
Dokončení požadavků na nástroj
- Přijměte licenční podmínky a přečtěte si informace o třetích stranách.
- Ve webové aplikaci > nástroje Nastavení požadavků proveďte následující kroky:
- 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 formátu IP adresa nebo plně kvalifikovaný název 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 jste proxy server a/nebo ověřování zakázali, vyberte Uložit a znovu aktivujte kontrolu připojení.
- Instalace aktualizací: Nástroj automaticky vyhledá nejnovější aktualizace a nainstaluje je. Nejnovější verzi nástroje můžete také nainstalovat ručně z tohoto místa.
- Nainstalovat nástroj Microsoft Web Deploy: Nástroj zkontroluje, jestli je nástroj Microsoft Web Deploy nainstalovaný na počítači s Windows, na kterém běží nástroj Azure Migrate: Kontejnerizace aplikací.
- Povolit vzdálené komunikace PowerShellu: Nástroj vás informuje, abyste zajistili, že je na aplikačních serverech, na kterých běží ASP.NET aplikace, které mají být kontejnerizovány, povolená vzdálené 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í. Výběrem možnosti Při přihlášení se otevře modální s kódem zařízení.
Výběrem možnosti Kopírovat kód & přihlášení zkopírujte kód zařízení a na nové kartě prohlížeče otevřete výzvu k přihlášení k Azure. 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 kartu prohlížeče zavřít 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í ASP.NET aplikací
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 pokusí 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 se spuštěnou aplikací ASP.NET, které se mají použít ke vzdálenému připojení k serveru za účelem zjišťování aplikací.
- Zadané přihlašovací údaje musí být místního správce (Windows) na aplikačním serveru.
- U doménových účtů (uživatel musí být správcem aplikačního serveru) předpona uživatelského jména s názvem domény ve formátu <doména\uživatelské jméno>.
- Zjišťování aplikací můžete spustit až pro pět serverů najednou.
Vyberte Ověřit a ověřte, že je aplikační server dostupný z počítače, na kterém nástroj běží, a že 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 spusť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é chcete 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í
Parametrizací konfigurace ji zpřístupníte jako parametr času nasazení. To vám umožní nakonfigurovat toto nastavení při nasazování aplikace místo toho, aby byla pevně zakódována na konkrétní hodnotu v imagi kontejneru. Tato možnost je například užitečná pro parametry, jako jsou připojovací řetězce databáze.
Vyberte konfigurace aplikací a zkontrolujte zjištěné konfigurace.
Zaškrtnutím políčka parametrizujete zjištěné konfigurace aplikací.
Po výběru konfigurací, které chcete parametrizovat, vyberte Použít .
Externalizace závislostí 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ů. Přečtěte si další informace.
Vyberte Upravit v části Složky aplikací a zkontrolujte zjištěné složky aplikací. Zjištěné složky aplikace byly identifikovány jako povinné artefakty, které aplikace potřebuje, a zkopírují se do image kontejneru.
Vyberte Přidat složky a zadejte cesty ke složkám, které chcete přidat.
Pokud chcete do stejného svazku přidat více složek, zadejte hodnoty oddělené čárkami (
,
).Pokud chcete, aby se složky ukládaly mimo kontejner na trvalý svazek, vyberte jako možnost úložiště Trvalý svazek .
Po kontrole složek aplikací vyberte Uložit .
Vyberte Pokračovat a pokračujte do fáze sestavení image kontejneru.
Sestavení image kontejneru
Důležité
Pokud používáte AKS 1.23 nebo novější, upravte před vytvořením image Dockeru skripty, jak je znázorněno níže, abyste zajistili bezproblémovou migraci.
Změňte níže uvedený 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 vytvořit image kontejneru, postupujte takto:
Vyberte Azure Container Registry: Pomocí rozevíracího seznamu vyberte Azure Container Registry, který se použije k sestavení a ukládání imagí kontejneru pro aplikace. Můžete použít existující Azure Container Registry nebo se rozhodnout vytvořit nový pomocí možnosti Vytvořit nový registr.
Projděte si soubor Dockerfile: Soubor Dockerfile potřebný k sestavení imagí kontejneru pro každou vybranou aplikaci se vygeneruje na začátku kroku sestavení. Vyberte Zkontrolovat a zkontrolujte soubor Dockerfile. V kroku kontroly můžete do souboru Dockerfile také přidat potřebná přizpůsobení a před zahájením procesu sestavení uložit změny.
Aktivace procesu sestavení: Vyberte aplikace, pro které chcete sestavit image, a vyberte Sestavit. Výběrem sestavení spustíte sestavení image kontejneru pro každou aplikaci. Nástroj průběžně monitoruje stav sestavení a po úspěšném dokončení sestavení vám umožní pokračovat k dalšímu kroku.
Sledování stavu sestavení: Průběh kroku sestavení můžete také sledovat tak, že ve sloupci stav vyberete odkaz Probíhá sestavení . Po aktivaci procesu sestavení bude propojení aktivní několik minut.
Po dokončení sestavení vyberte Pokračovat a určete nastavení nasazení.
Nasazení kontejnerizované aplikace v AKS
Po sestavení image kontejneru je dalším krokem nasazení aplikace jako kontejneru na 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 stahování imagí z Azure Container Registry, který byl vybrán pro ukládání 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 rozhodnout vytvořit v nástroji tak, že vyberete Vytvořit nový cluster AKS.
- Cluster AKS vytvořený pomocí nástroje se vytvoří s fondem uzlů Windows. Cluster se nakonfiguruje tak, aby umožňoval načíst image z dříve vytvořeného Azure Container Registry (pokud byla zvolena možnost Vytvořit nový registr).
- Po výběru clusteru AKS vyberte Pokračovat .
Zadat ú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á pro aplikaci použít. Pro správu tajných kódů aplikací můžete zvolit azure Key Vault nebo App Service nastavení aplikace. Další informace
- Pokud jste vybrali App Service nastavení aplikace pro správu tajných kódů, vyberte Pokračovat.
- Pokud chcete ke správě tajných kódů aplikací použít Key Vault Azure, zadejte Key Vault Azure, které chcete použít.
- Pokud nemáte Key Vault Azure nebo chcete vytvořit nový Key Vault, můžete se v nástroji rozhodnout pro vytvoření tak, že vyberete Vytvořit novou Key Vault Azure.
- Nástroj automaticky přiřadí potřebná oprávnění ke správě tajných kódů prostřednictvím Key Vault.
Určení sdílené složky Azure: Pokud jste přidali další složky a vybrali možnost Trvalý svazek, zadejte sdílenou složku Azure, kterou má nástroj Azure Migrate: Kontejnerizace aplikací používat během procesu nasazení. Nástroj vytvoří v této sdílené složce Azure nové adresáře pro kopírování složek aplikace nakonfigurovaných 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 nemáte sdílenou složku Azure nebo chcete vytvořit novou sdílenou složku Azure, můžete se rozhodnout vytvořit v nástroji 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í pro aplikaci. Vyberte Konfigurovat a přizpůsobte nasazení pro aplikaci. 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á pro vazbu použít. 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í v kontejnerech spouštět.
- Typ nástroje pro vyrovnávání zatížení: Vyberte Externí , pokud má být kontejnerizovaná aplikace 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í, které byly nakonfigurované pro trvalé úložiště svazků, určete, jestli se má svazek sdílet mezi instancemi aplikací, nebo jestli se má 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 pro aplikaci vygeneruje YAML nasazení Kubernetes.
Vyberte Zkontrolovat a zkontrolujte a přizpůsobte YAML nasazení Kubernetes pro aplikace.
Vyberte aplikaci, která se má nasadit.
Výběrem možnosti Nasadit spusť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ě souboru Dockerfile a souborů specifikace Kubernetes YAML, jsou uložené na počítači, na kterém je nástroj spuštěný. 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žívané 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 vyčistí na začátku každého spuštění nástroje pro konkrétní server.
Řešení potíží
Při řešení jakýchkoli problémů s nástrojem si můžete prohlédnout soubory protokolu na počítači s Windows, na kterém běží nástroj Kontejnerizace aplikací. Soubory protokolu 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 na App Service. Přečtěte si další informace.
- Kontejnerizace webových aplikací Java v Apache Tomcat (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu v AKS Přečtěte si další informace.
- Kontejnerizace webových aplikací Java v Apache Tomcat (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu na App Service. Další informace.