Kontejnerizace a migrace webové aplikace v Javě do služby Aplikace Azure Service

Upozornění

Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec životnosti (EOL). Zvažte své použití a plánování odpovídajícím způsobem. Další informace najdete v doprovodných materiálech CentOS End Of Life.

V tomto článku se dozvíte, jak kontejnerizovat webové aplikace Java (spuštěné v Apache Tomcat) a migrovat je do služby Aplikace Azure 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 do služby Aplikace Azure Service.

Nástroj Azure Migrate: Kontejnerizace aplikací aktuálně podporuje:

  • Kontejnerizace webových aplikací Java v Apache Tomcatu (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu ve službě App Service
  • Kontejnerizace webových aplikací Java v Apache Tomcat (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu v AKS Další informace.
  • Kontejnerizace ASP.NET aplikací a jejich nasazení do kontejnerů Windows v AKS Další informace.
  • Kontejnerizace ASP.NET aplikací a jejich nasazení do kontejnerů Windows ve službě App Service Další informace.

Nástroj Azure Migrate: Kontejnerizace aplikací vám pomůže:

  • Zjistěte svou aplikaci: Nástroj se vzdáleně připojí k aplikačním serverům, na kterých běží webová aplikace Java (spuštěná na Apache Tomcat) a zjistí komponenty 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.
  • Nasaďte do služby Aplikace Azure Service: Nástroj pak vygeneruje soubory nasazení potřebné k nasazení kontejnerizované aplikace do služby Aplikace Azure Service.

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ů už není přenositelnost aplikací problém.
  • 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 webovou aplikaci Java.
  • Sestavte image kontejneru.
  • Nasaďte kontejnerizovanou aplikaci ve službě App Service.

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é webové aplikace Java.

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.
Aplikační servery Povolte připojení Secure Shell (SSH) na portu 22 na serverech, na kterých se mají kontejnerizovat aplikace Java.
Webová aplikace Java Nástroj aktuálně podporuje:

- Aplikace běžící na Tomcat 8 nebo Tomcat 9.
– Aplikační servery v systémech Ubuntu Linux 16.04/18.04/20.04, Debian 7/8, CentOS 6/7, Red Hat Enterprise Linux 5/6/7.
– Aplikace používající Javu 7 nebo Javu 8.
Pokud máte verzi mimo tuto verzi, vyhledejte image, která podporuje požadované verze, a upravte soubor dockerfile tak, aby nahradil image.

Nástroj aktuálně nepodporuje:

– Aplikační servery s více instancemi Tomcat

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 budete potřebovat 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:

  1. Na webu Azure Portal vyhledejte "předplatná" a v části Služby vyberte Předplatná.

    Vyhledávací pole pro vyhledání předplatného Azure

  2. Na stránce Předplatná vyberte předplatné, ve kterém chcete vytvořit projekt Azure Migrate.

  3. V předplatném vyberte Řízení přístupu (IAM)>Zkontrolujte přístup.

  4. V části Kontrola přístupu vyhledejte příslušný uživatelský účet.

  5. V části Přidat přiřazení role klikněte na Přidat.

    Vyhledejte uživatelský účet pro kontrolu přístupu a přiřazení role.

  6. V části Přidat přiřazení role vyberte roli Vlastník a v našem příkladu vyberte účet (azmigrateuser). Klikněte na Uložit.

    Otevře stránku Přidat přiřazení role pro přiřazení role k účtu.

Váš účet Azure také potřebuje oprávnění k registraci aplikací Microsoft Entra. 8. Na webu Azure Portal přejděte na uživatelské Nastavení uživatele Microsoft Entra ID.>> 9. V uživatelském nastavení ověřte, zda uživatelé Microsoft Entra mohou registrovat aplikace (ve výchozím nastavení je nastavena na Ano ).

Ověřte v uživatelském Nastavení, že uživatelé můžou registrovat aplikace Active Directory.

  1. Pokud je nastavení Registrace aplikací nastaveno na Ne, požádejte o přiřazení požadovaného oprávnění tenanta nebo globálního správce. 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í

  1. Stáhněte si instalační program Azure Migrate: Kontejnerizace aplikací na počítači s Windows.

  2. Spusťte PowerShell v režimu správce a změňte adresář PowerShellu na složku obsahující instalační program.

  3. 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í

  1. 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.

  2. Pokud se zobrazí upozornění s oznámením, že vaše připojení není soukromé, klikněte na Upřesnit a zvolte, jestli chcete 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.

  3. Na přihlašovací obrazovce se přihlaste pomocí účtu místního správce na počítači.

  4. Jako typ aplikace, kterou chcete kontejnerizovat, vyberte webové aplikace Java v Tomcatu .

  5. Pokud chcete určit cílovou službu Azure, vyberte kontejnery ve službě Aplikace Azure Service. Výchozí načtení pro nástroj Kontejnerizace aplikací

Požadavky na kompletní nástroj

  1. Přijměte licenční podmínky a přečtěte si informace třetích stran.
  2. V nástrojové webové aplikaci >Nastavte požadované součásti:
    • Připojení ivity: Nástroj zkontroluje, jestli má počítač s Windows přístup k internetu. Pokud počítač používá proxy server:
      • Klikněte na Nastavit proxy server 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 klikněte na 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.
    • Povolit Secure Shell (SSH):Nástroj vás informuje, abyste měli jistotu, že je na aplikačních serverech, na kterých běží webové aplikace Java, povolené zabezpečené prostředí (SSH), které se mají kontejnerizovat.

Přihlášení k Azure

Kliknutím na Přihlásit se přihlaste ke svému účtu Azure.

  1. K ověření v Azure budete potřebovat kód zařízení. Kliknutím na Přihlásit se otevřete modální kód zařízení.

  2. Kliknutím na Kopírovat kód a přihlásit 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.

    Modální zobrazení kódu zařízení

  3. 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 do webového rozhraní nástroje Kontejnerizace aplikací.

  4. Vyberte tenanta Azure, kterého chcete použít.

  5. Zadejte předplatné Azure, které chcete použít.

Seznamte se s webovými aplikacemi v Javě

Pomocný nástroj kontejnerizace aplikací se vzdáleně připojí k aplikačním serverům pomocí zadaných přihlašovacích údajů a pokusí se zjistit webové aplikace Java (spuštěné na Apache Tomcat) hostované na aplikačních serverech.

  1. Zadejte IP adresu nebo plně kvalifikovaný název domény a přihlašovací údaje serveru, na kterém běží webová aplikace Java, 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 pro kořenový účet (Linux) 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 až pro pět serverů najednou.
  2. Kliknutím na tlačítko Ověřit ověřte, zda je aplikační server dostupný z počítače, na kterém je spuštěn nástroj, a zda jsou přihlašovací údaje platné. Po úspěšném ověření se ve sloupci stavu zobrazí stav mapovaný.

    Snímek obrazovky s IP adresou serveru a přihlašovacími údaji

  3. Kliknutím na tlačítko Pokračovat spustíte zjišťování aplikací na vybraných aplikačních serverech.

  4. Po úspěšném dokončení zjišťování aplikací můžete vybrat seznam aplikací, které se mají kontejnerizovat.

    Snímek obrazovky se zjištěnou webovou aplikací v Javě

  5. Pomocí zaškrtávacího políčka vyberte aplikace, které se mají kontejnerizovat.

  6. 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.

  1. Kliknutím na Konfigurace aplikací zkontrolujte zjištěné konfigurace.

  2. Zaškrtnutím políčka parametrizujete zjištěné konfigurace aplikace.

  3. Po výběru konfigurace pro parametrizaci klikněte na Tlačítko Použít .

    Snímek obrazovky aplikace s parametrizací konfigurace aplikace v Javě

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í externě připojovat k trvalému úložišti prostřednictvím sdílené složky Azure. Použití externího trvalého úložiště funguje skvěle pro stavové aplikace, které ukládají stav mimo kontejner nebo mají jiný statický obsah uložený v systému souborů.

  1. Kliknutím na Upravit v části Složky aplikací 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.

  2. Klikněte na Přidat složky a zadejte cesty ke složkám, které se mají přidat.

  3. Pokud chcete přidat více složek na stejný svazek, zadejte hodnoty oddělené čárkami (,).

  4. Jako možnost úložiště vyberte sdílenou složku Azure, pokud chcete, aby se složky ukládaly mimo kontejner v trvalém úložišti.

  5. Po kontrole složek aplikací klikněte na Uložit . Snímek obrazovky s výběrem úložiště svazků aplikací

  6. Kliknutím na Pokračovat přejděte do fáze sestavení image kontejneru.

Sestavení image kontejneru

  1. 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.

    Snímek obrazovky s výběrem ACR aplikace

Poznámka:

Zobrazí se jenom registry kontejnerů Azure s povoleným uživatelem správce. Účet správce se v současné době vyžaduje k nasazení image z registru kontejneru Azure do služby Aplikace Azure Service. Další informace.

  1. Zkontrolujte soubor Dockerfile: Soubor Dockerfile potřebný k sestavení imagí kontejneru pro každou vybranou aplikaci se vygeneruje na začátku kroku sestavení. Kliknutím na Revize 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.

  2. Konfigurovat aplikační Přehledy: Monitorování aplikací v Javě spuštěných ve službě App Service můžete povolit bez instrumentace kódu. Nástroj nainstaluje samostatného agenta Java jako součást image kontejneru. Jakmile se agent Java nakonfiguruje během nasazování, automaticky shromáždí velké množství požadavků, závislostí, protokolů a metrik pro vaši aplikaci, které je možné použít k monitorování pomocí služby Application Přehledy. Tato možnost je ve výchozím nastavení povolená pro všechny aplikace v Javě.

  3. Proces sestavení triggeru: Vyberte aplikace, pro které chcete vytvořit image, a klikněte na Sestavit. Kliknutím na Sestavit spustíte 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í.

  4. Sledovat stav sestavení: Průběh kroku sestavení můžete sledovat také kliknutím na odkaz Stav sestavení pod sloupcem Stav sestavení. Po aktivaci procesu sestavení trvá odkaz několik minut, než se aktivuje.

  5. Po dokončení sestavení klikněte na Pokračovat a zadejte nastavení nasazení.

    Snímek obrazovky s dokončením sestavení image kontejneru aplikace

Nasazení kontejnerizované aplikace ve službě Aplikace Azure Service

Po sestavení image kontejneru je dalším krokem nasazení aplikace jako kontejneru ve službě Aplikace Azure Service.

  1. Vyberte plán služby Aplikace Azure: Zadejte plán služby Aplikace Azure, který má aplikace používat.

    • Pokud nemáte plán služby App Service nebo chcete vytvořit nový plán služby App Service, který chcete použít, můžete ho vytvořit kliknutím na Vytvořit nový plán služby App Service.
    • Po výběru plánu služby App Service klikněte na Pokračovat .
  2. Zadejte pracovní prostor úložiště tajných kódů a monitorování: Pokud jste se rozhodli parametrizovat konfigurace aplikací, 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 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, klikněte na 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 ji vytvořit kliknutím na Vytvořit nový.
      • 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.
    • Pracovní prostor monitorování: Pokud jste vybrali možnost povolit monitorování pomocí Přehledy aplikace, zadejte prostředek Přehledy aplikace, který chcete použít. Tato možnost se nezobrazí, pokud jste zakázali integraci monitorování.
      • Pokud nemáte prostředek aplikace Přehledy nebo chcete vytvořit nový prostředek, můžete ho vytvořit kliknutím na Vytvořit nový.
  3. Zadejte sdílenou složku Azure: Pokud jste přidali více adresářů a složek a vybrali možnost sdílené složky Azure pro trvalé úložiště, zadejte sdílenou složku Azure, kterou bude používat nástroj Azure Migrate: Kontejnerizace aplikací během procesu nasazení. Nástroj zkopíruje adresáře aplikací nebo složky, které jsou nakonfigurované pro Službu Azure Files, a během nasazování je připojí ke kontejneru aplikace. 

    • Pokud sdílenou složku Azure nemáte nebo chcete vytvořit novou sdílenou složku Azure, můžete ji vytvořit kliknutím na Vytvořit nový účet úložiště a sdílenou složku.
  4. Konfigurace nasazení aplikace: Po dokončení výše uvedených kroků budete muset zadat konfiguraci nasazení aplikace. Kliknutím na Tlačítko Konfigurovat můžete přizpůsobit nasazení aplikace. V kroku konfigurace můžete zadat následující přizpůsobení:

    • Název: Zadejte jedinečný název aplikace. Tento název se použije k vygenerování adresy URL aplikace a použije se jako předpona pro další prostředky vytvářené v rámci tohoto nasazení.
    • Konfigurace aplikace: Pro všechny konfigurace aplikace, které byly parametrizovány, zadejte hodnoty, které se mají použít pro aktuální nasazení.
    • Konfigurace úložiště: Zkontrolujte informace o všech adresářích nebo složkách aplikací, které byly nakonfigurované pro trvalé úložiště.

    Snímek obrazovky s konfigurací aplikace pro nasazení

  5. Nasazení aplikace: Jakmile se uloží konfigurace nasazení aplikace, nástroj vygeneruje YAML nasazení Kubernetes pro aplikaci.

    • Kliknutím na Tlačítko Zkontrolovat zkontrolujte konfiguraci nasazení pro aplikace.

    • Vyberte aplikaci, která se má nasadit.

    • Kliknutím na Nasadit spustíte nasazení pro vybrané aplikace.

      Snímek obrazovky s konfigurací nasazení aplikace

    • Po nasazení aplikace můžete kliknout na sloupec Stav nasazení a sledovat prostředky nasazené pro aplikaci.

Ř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ů jsou k dispozici ve složce C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs .

Další kroky

  • Kontejnerizace webových aplikací v Javě na Apache Tomcat (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu v AKS Další informace
  • Kontejnerizace ASP.NET webových aplikací a jejich nasazení do kontejnerů Windows v AKS Další informace
  • Kontejnerizace ASP.NET webových aplikací a jejich nasazení do kontejnerů Windows ve službě Aplikace Azure Service Další informace