Kontejnerizace webových aplikací v Javě a migrace do Azure Kubernetes Service
V tomto článku se dozvíte, jak kontejnerizovat webové aplikace v Javě (běžící na Apache Tomcat) 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 Javy Web Apps na Apache Tomcat (na linuxových serverech) a jejich nasazení do kontejnerů Linuxu v AKS.
- Kontejnerizace Javy Web Apps v Apache Tomcat (na serverech s Linuxem) a jejich nasazení do kontejnerů Linuxu na App Service. 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 na App Service. Další informace
Nástroj Azure Migrate: Kontejnerizace aplikací vám pomůže
- Zjištění vaší aplikace: Nástroj se vzdáleně připojí k aplikačním serverům, na kterých běží webová aplikace Java (běží na Apache Tomcat) a zjistí komponenty 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: S kontejnery může více aplikací sdílet prostředky a být hostovány 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.
- Osvojte si moderní správu pomocí DevOps: Pomáhá 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í.
- Objevte svou webovou aplikaci v Jazyce Java.
- 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 je spuštěný nástroj, by měl mít síťové připojení k serverům nebo virtuálním počítačům, které hostují webové aplikace Java, které mají být kontejnerizovány. 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. |
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 Tomcatu 8 nebo novějším. - Aplikační servery na 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 verze 7 nebo novější. Nástroj v současné době nepodporuje – Servery aplikací 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 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 s využitím webu 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. 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 Kontejnerizace aplikací, 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 tak, že vyberete zástupce aplikace.
Pokud se zobrazí upozornění, že vaše připojení není soukromé, klikněte na Upřesnit a zvolte, že 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.
Na přihlašovací obrazovce použijte k přihlášení účet místního správce na počítači.
Jako typ aplikace, kterou chcete kontejnerizovat, vyberte Webové aplikace v Javě na serveru Tomcat .
Pokud chcete zadat cílovou službu Azure, vyberte Kontejnery na Azure Kubernetes Service.
Kompletní požadavky 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 Nastavte požadavky 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:
- Klikněte na Nastavit proxy a zadejte adresu proxy serveru (ve formátu IP adresa nebo plně kvalifikovaný název domény) a naslouchající port.
- 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, kliknutím na Uložit 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.
- 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, které se mají kontejnerizovat, povolený protokol Secure Shell (SSH).
- 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
Kliknutím na Přihlásit se přihlaste ke svému účtu Azure.
K ověření v Azure budete potřebovat kód zařízení. Kliknutím na přihlásit se otevřete modální s kódem zařízení.
Kliknutím na 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 přihlášení můžete kartu prohlížeče zavřít a vrátit se do webového rozhraní nástroje Kontejnerizace aplikací.
Vyberte tenanta Azure , kterého chcete použít.
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 (běžící na Apache Tomcat) 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ěží webová aplikace Java, které by se měly použít ke vzdálenému připojení k serveru za účelem zjišťování aplikací.
- Zadané přihlašovací údaje musí být pro kořenový účet (Linux) na aplikačním serveru.
- U doménových účtů (uživatel musí být správcem na aplikačním serveru) zadejte před uživatelské jméno název domény ve formátu <doména\uživatelské_jméno>.
- Zjišťování aplikací můžete spustit až pro pět serverů najednou.
Kliknutím na Ověřit ověřte, že je aplikační server dostupný z počítače, na kterém je nástroj spuštěný, a že jsou přihlašovací údaje platné. Po úspěšném ověření se ve sloupci stav zobrazí stav Mapováno.
Kliknutím na 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 měl být zadaný 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 bylo pevně zakódované 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.
Klikněte na Konfigurace aplikací a zkontrolujte zjištěné konfigurace.
Zaškrtnutím políčka parametrizovat konfigurace zjištěných aplikací.
Po výběru konfigurací, které chcete parametrizovat, klikněte na 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 u stavových aplikací, které ukládají stav mimo kontejner nebo mají jiný statický obsah uložený v systému souborů. Další informace
Kliknutím na Upravit v části Složky aplikací 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.
Klikněte na Přidat složky a zadejte cesty ke složkám, které chcete přidat.
Pokud chcete na stejný svazek přidat více složek, zadejte hodnoty oddělené čárkou (
,
).Jako možnost úložiště vyberte Trvalý svazek , pokud chcete, aby se složky ukládaly mimo kontejner na trvalý svazek.
Po kontrole složek aplikací klikněte na Uložit .
Kliknutím na Pokračovat pokračujte do fáze sestavení image kontejneru.
Sestavení image kontejneru
Vyberte Azure Container Registry: Pomocí rozevíracího seznamu vyberte Azure Container Registry, která se použije k sestavení a uložení imagí kontejneru pro aplikace. Můžete použít existující Azure Container Registry nebo vytvořit nový pomocí možnosti Vytvořit nový registr.
Projděte si soubor Dockerfile: Soubor Dockerfile potřebný k sestavení imagí kontejnerů pro každou vybranou aplikaci se vygeneruje na začátku kroku sestavení. Kliknutím na Zkontrolovat zkontrolujte soubor Dockerfile. V kroku kontroly můžete také do souboru Dockerfile přidat potřebná přizpůsobení a před zahájením procesu sestavení uložit změny.
Konfigurace Application Insights: Monitorování aplikací v Javě spuštěných na App Service můžete povolit bez instrumentace kódu. Nástroj nainstaluje samostatného agenta Java jako součást image kontejneru. Jakmile je agent Java nakonfigurovaný během nasazení, 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í Application Insights. Tato možnost je ve výchozím nastavení povolená pro všechny aplikace v Javě.
Aktivace procesu sestavení: Vyberte aplikace, pro které chcete sestavovat image, a klikněte na Sestavit. Kliknutím na sestavit 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í přejít k dalšímu kroku.
Sledování stavu sestavení: Průběh kroku sestavení můžete sledovat také kliknutím na odkaz Probíhá sestavení ve sloupci Stav. Po aktivaci procesu sestavení bude propojení aktivní několik minut.
Po dokončení sestavení klikněte na 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ů s Linuxem.
- Cluster musí být nakonfigurovaný tak, aby umožňoval stahování imagí z Azure Container Registry, která byla vybrána 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 kliknutím na Vytvořit nový cluster AKS.
- Cluster AKS vytvořený pomocí nástroje se vytvoří s fondem uzlů s Linuxem. 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 klikněte na Pokračovat .
Určení úložiště tajných kódů a pracovního prostoru monitorování: Pokud jste se rozhodli parametrizovat konfigurace aplikace, zadejte úložiště tajných kódů, které se má pro aplikaci použít. Ke správě tajných kódů aplikací můžete zvolit Azure Key Vault nebo Tajné kódy Kubernetes.
- Pokud jste pro správu tajných kódů vybrali tajné kódy Kubernetes, klikněte na 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 rozhodnout vytvořit v nástroji 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 Key Vault.
- Pracovní prostor Monitorování: Pokud jste vybrali možnost povolit monitorování pomocí Application Insights, zadejte prostředek Application Insights, který chcete použít. Tato možnost se nezobrazí, pokud jste zakázali integraci monitorování.
- Pokud nemáte prostředek Application Insights nebo chcete vytvořit nový prostředek, můžete se rozhodnout vytvořit v nástroji kliknutím na Vytvořit nový.
Zadejte sdílenou složku Azure: Pokud jste přidali další složky a vybrali možnost Trvalý svazek, zadejte sdílenou složku Azure, kterou má azure Migrate používat: Nástroj Kontejnerizace aplikací během procesu nasazení. Nástroj vytvoří v této sdílené složce Azure nové adresáře, které budou kopírovat 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 rozhodnout vytvořit v nástroji kliknutím na 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. Klikněte na Konfigurovat a přizpůsobte nasazení pro aplikaci. V kroku konfigurace můžete zadat následující vlastní nastavení:
- Ř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.
- 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 úložiště trvalých svazků, určete, jestli se má svazek sdílet mezi instancemi aplikace, 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é.
- Kliknutím na Použít uložte konfiguraci nasazení.
- Kliknutím na Pokračovat aplikaci nasadíte.
Nasazení aplikace: Po uložení konfigurace nasazení pro aplikaci nástroj vygeneruje YAML nasazení Kubernetes pro aplikaci.
Kliknutím na Zkontrolovat zkontrolujte a přizpůsobte YAML nasazení Kubernetes pro aplikace.
Vyberte aplikaci, která se má nasadit.
Kliknutím na Nasadit spustíte nasazení vybraných aplikací.
Po nasazení aplikace můžete kliknout na sloupec Stav nasazení a sledovat prostředky nasazené pro aplikaci.
Stažení vygenerovaných artefaktů
Všechny artefakty, které slouží k sestavení a nasazení aplikace do AKS, včetně souborů se specifikací Dockerfile a 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íží
Pokud chcete vyřešit problémy s nástrojem, můžete se podívat na soubory protokolů 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 webových aplikací v Javě v Apache Tomcat (na linuxových serverech) a jejich nasazení do linuxových kontejnerů na App Service. 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 na Azure App Service. Další informace
- Jaká jsou řešení pro spuštění Oracle WebLogic Serveru na Azure Kubernetes Service? Další informace
- Otevřete Liberty a WebSphere Liberty v AKS. Další informace