Ruční nasazení aplikace v Javě pomocí Open Liberty/WebSphere Liberty v clusteru Azure Red Hat OpenShift
Tento článek obsahuje podrobné pokyny k ručnímu spuštění Open/WebSphere Liberty v clusteru Azure Red Hat OpenShift. Provede vás přípravou aplikace Liberty, sestavením image Dockeru a spuštěním kontejnerizované aplikace v clusteru Azure Red Hat OpenShift.
Konkrétně se naučíte provádět následující úlohy:
- Příprava aplikace Liberty
- Sestavení image aplikace
- Spuštění kontejnerizované aplikace v clusteru Azure Red Hat OpenShift pomocí grafického uživatelského rozhraní a rozhraní příkazového řádku
Automatizovanější řešení, které urychlí vaši cestu ke clusteru Azure Red Hat OpenShift, najdete v tématu Nasazení IBM WebSphere Liberty a Open Liberty v Azure Red Hat OpenShiftu pomocí nabídky Azure Marketplace.
Další informace o open liberty naleznete na stránce projektu Open Liberty. Další informace o WebSphere Liberty naleznete na stránce produktu WebSphere Liberty.
Tento článek vám pomůže rychle se dostat k nasazení. Než půjdete do produkce, měli byste prozkoumat Tuning Liberty.
Pokud chcete poskytnout zpětnou vazbu nebo úzce spolupracovat na scénářích migrace s technickým týmem, který vyvíjí webSphere v řešeních Azure, vyplňte tento krátký průzkum o migraci WebSphere a uveďte své kontaktní informace. Tým programových manažerů, architektů a inženýrů se s vámi okamžitě spojí a zahájí úzkou spolupráci.
Důležité
Přestože je Azure Red Hat OpenShift společně navržený, provozovaný a podporovaný společností Red Hat a Microsoftem, aby poskytoval integrované prostředí podpory, software, který běží nad Azure Red Hat OpenShiftem, včetně toho, co je popsáno v tomto článku, podléhá vlastní podpoře a licenčním podmínkám. Další informace o podpoře pro Azure Red Hat OpenShift najdete v tématu Životní cyklus podpory pro Azure Red Hat OpenShift 4. Další informace o podpoře softwaru popsaného v tomto článku najdete na hlavních stránkách tohoto softwaru, jak je uvedeno v článku.
Poznámka:
Aby bylo možné vytvořit a spustit cluster OpenShift, služba Azure Red Hat OpenShift vyžaduje minimálně 40 jader. Výchozí kvóta prostředků Azure pro nové předplatné Azure nesplňuje tento požadavek. Pokud chcete požádat o zvýšení limitu prostředků, přečtěte si téma Standardní kvóta: Zvýšení limitů podle řad virtuálních počítačů. Upozorňujeme, že bezplatné zkušební předplatné nemá nárok na navýšení kvóty, upgradujte na předplatné s průběžným platbami před vyžádáním navýšení kvóty.
Požadavky
Pro úspěšné použití této příručky proveďte následující požadavky:
Připravte místní počítač s nainstalovaným operačním systémem Unix (například Ubuntu, macOS nebo Subsystém Windows pro Linux).
Nainstalujte implementaci java edice Standard (SE), verze 17 nebo novější (například Eclipse Open J9).
Nainstalujte Maven 3.5.0 nebo novější.
Nainstalujte Docker pro váš operační systém.
Nainstalujte Azure CLI 2.0.75 nebo novější.
V případě potřeby nainstalujte
envsubst
.Naklonujte kód pro tuto ukázku v místním systému. Ukázka je na GitHubu.
Postupujte podle pokynů v tématu Vytvoření clusteru Azure Red Hat OpenShift 4.
I když je krok "Získání tajného kódu pro přijetí změn Red Hat" označený jako volitelný, vyžaduje se pro tento článek. Tajný kód pro vyžádání změn umožňuje vašemu clusteru Azure Red Hat OpenShift najít operátor Open Liberty.
Pokud plánujete spouštět aplikace náročné na paměť v clusteru, zadejte správnou velikost virtuálního počítače pro pracovní uzly pomocí parametru
--worker-vm-size
. Jedná se například o minimální velikost virtuálního počítače proStandard_E4s_v3
instalaci operátora Elasticsearch do clusteru. Další informace naleznete v tématu:Připojte se ke clusteru pomocí kroků v části Připojení ke clusteru Azure Red Hat OpenShift 4.
- Nezapomeňte postupovat podle kroků v části Instalace rozhraní příkazového řádku OpenShift, protože používáme
oc
příkaz dále v tomto článku. - Uložte si adresu URL konzoly clusteru. Měl by vypadat jako
https://console-openshift-console.apps.<random>.<region>.aroapp.io/
. - Poznamenejte
kubeadmin
si přihlašovací údaje. - Nezapomeňte s přihlašovacími údaji postupovat podle kroků v části Připojení pomocí rozhraní příkazového
kubeadmin
řádku OpenShift.
- Nezapomeňte postupovat podle kroků v části Instalace rozhraní příkazového řádku OpenShift, protože používáme
Instalace operátoru Open Liberty OpenShift
Po vytvoření a připojení ke clusteru nainstalujte operátor Open Liberty Operator pomocí následujícího postupu. Hlavní úvodní stránka operátoru Open Liberty je na GitHubu.
Přihlaste se z prohlížeče k webové konzole OpenShift pomocí přihlašovacích
kubeadmin
údajů.Přejděte na OperatorHub> a vyhledejte Open Liberty.
Ve výsledcích hledání vyberte Otevřít Liberty .
Vyberte volbu Instalovat.
Na stránce Operátor instalace zkontrolujte v1.3 kanál aktualizace, všechny obory názvů v clusteru (výchozí) pro režim instalace a automatické schválení aktualizací:
Vyberte Nainstalovat a počkejte minutu nebo dvě, až se instalace dokončí.
Všimněte si, že operátor Open Liberty je úspěšně nainstalovaný a připravený k použití. Pokud není připravený, před pokračováním problém diagnostikujte a vyřešte.
Vytvoření oboru názvů OpenShift pro aplikaci v Javě
Pomocí následujících kroků vytvořte obor názvů OpenShift pro použití s vaší aplikací:
Pomocí přihlašovacích údajů se ujistěte, že jste se přihlásili k webové konzole OpenShift z prohlížeče
kubeadmin
.Přejděte do části Obory>názvů pro správu>– Vytvořit obor názvů.
open-liberty-demo
Zadejte název a vyberte Vytvořit, jak je znázorněno dále.
Vytvoření Azure Database for MySQL
Pomocí následujících kroků nastavte službu Azure Database for MySQL pro použití s vaší aplikací:
Flexibilní server Azure Database for MySQL vytvoříte pomocí kroků v tomto rychlém startu: Vytvoření flexibilního serveru Azure Database for MySQL pomocí webu Azure Portal. Databázi můžete nasadit do stejné skupiny prostředků jako cluster OpenShift. Po vytvoření databáze se vraťte k tomuto dokumentu.
Poznámka:
V kroku Základy uložte hodnoty Název serveru.mysql.database.azure.com, Uživatelské jméno správce a Heslo.
Po vytvoření databáze otevřete sítě nastavení> databáze>a pak postupujte následovně:
- V části Veřejný přístup se ujistěte, že je vybraný veřejný přístup k tomuto prostředku přes internet pomocí veřejné IP adresy .
- Vyberte Povolit veřejný přístup z libovolné služby Azure v rámci Azure k tomuto serveru.
- Ujistěte se, že adresa klienta IPv4 je v seznamu povolených pravidel brány firewall.
- Uložte provedené změny.
Otevřete databáze Nastavení>databáze>> Vyberte Přidat. Zadejte hodnotu pro Název a vyberte Uložit a vytvořte novou databázi. Tato databáze má typ schématu jako uživatel a používá se pro aplikaci později.
Poznámka:
Uložte název databáze, kterou jste vytvořili.
Příprava aplikace Liberty
Jako příklad v této příručce používáme aplikaci Java EE 8. Open Liberty je server kompatibilní s úplným profilem Java EE 8, takže může snadno spustit aplikaci. Open Liberty je také Jakarta EE 8 úplný profil kompatibilní.
Spuštění aplikace v Open Liberty
Pokud chcete aplikaci spustit na Open Liberty, musíte vytvořit konfigurační soubor serveru Open Liberty, aby modul plug-in Liberty Maven mohl zabalit aplikaci pro nasazení. Modul plug-in Liberty Maven není nutný k nasazení aplikace do OpenShiftu. V tomto příkladu ho ale používáme v režimu Vývojář (dev) Open Liberty. Vývojářský režim umožňuje snadno spustit aplikaci místně. Další informace o této liberty-maven-plugin
funkci najdete v tématu Vytvoření webové aplikace pomocí Mavenu.
Podle kroků v této části připravte ukázkovou aplikaci pro pozdější použití v tomto článku. Tyto kroky používají Maven a liberty-maven-plugin
.
Podívejte se na aplikaci
Pomocí následujících příkazů naklonujte vzorový kód pro tuto příručku. Ukázka je na GitHubu.
git clone https://github.com/Azure-Samples/open-liberty-on-aro.git
cd open-liberty-on-aro
V úložišti je několik ukázek. Používáme open-liberty-on-aro/3-integration/connect-db/mysql. Tady je struktura souborů aplikace:
open-liberty-on-aro/3-integration/connect-db/mysql
├─ src/main/
│ ├─ aro/
│ │ ├─ db-secret.yaml
│ │ ├─ openlibertyapplication.yaml
│ ├─ liberty/config/
│ │ ├─ server.xml
│ ├─ java/
│ ├─ resources/
│ ├─ webapp/
├─ Dockerfile
├─ Dockerfile-wlp
├─ pom.xml
Adresáře java, resources a webová aplikace obsahují zdrojový kód ukázkové aplikace. Kód deklaruje a používá zdroj dat s názvem jdbc/JavaEECafeDB
.
V adresáři aro jsme umístili dva soubory nasazení. db-secret.xml slouží k vytváření tajných kódů pomocí přihlašovacích údajů pro připojení k databázi. Soubor openlibertyapplication.yaml se používá k nasazení image aplikace.
V kořenovém adresáři jsme umístili dva soubory Dockerfile. Soubory Dockerfile a Dockerfile-wlp se používají k místnímu ladění a k sestavení image pro nasazení Azure Red Hat OpenShift, která pracuje s Open Liberty a WebSphere Liberty.
V adresáři liberty/config se server.xml používá ke konfiguraci připojení databáze pro cluster Open Liberty a WebSphere Liberty.
Sestavení projektu
Teď, když jste shromáždili potřebné vlastnosti, sestavte aplikaci pomocí následujících příkazů. Soubor POM pro projekt čte mnoho vlastností z prostředí.
cd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql
# The following variables are used for deployment file generation
export DB_SERVER_NAME=<Server name>.mysql.database.azure.com
export DB_PORT_NUMBER=3306
export DB_NAME=<Database name>
export DB_USER=<Server admin username>
export DB_PASSWORD=<Server admin password>
export NAMESPACE=open-liberty-demo
mvn clean install
Místní testování aplikace
Pomocí následujících kroků spusťte liberty:devc
příkaz pro místní spuštění a otestování image projektu a kontejneru před tím, než začnete řešit všechny složitosti Azure. Další informace najdete liberty:devc
v dokumentaci ke službě Liberty Plugin.
V případě potřeby spusťte místní prostředí Dockeru. Pokyny k tomu se liší v závislosti na hostitelském operačním systému.
K spuštění aplikace v
liberty:devc
režimu použijte následující příkazy:cd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql # If you are running with Open Liberty mvn liberty:devc -DcontainerRunOpts="-e DB_SERVER_NAME=${DB_SERVER_NAME} -e DB_PORT_NUMBER=${DB_PORT_NUMBER} -e DB_NAME=${DB_NAME} -e DB_USER=${DB_USER} -e DB_PASSWORD=${DB_PASSWORD}" -Dcontainerfile=Dockerfile # If you are running with WebSphere Liberty mvn liberty:devc -DcontainerRunOpts="-e DB_SERVER_NAME=${DB_SERVER_NAME} -e DB_PORT_NUMBER=${DB_PORT_NUMBER} -e DB_NAME=${DB_NAME} -e DB_USER=${DB_USER} -e DB_PASSWORD=${DB_PASSWORD}" -Dcontainerfile=Dockerfile-wlp
Ověřte, že aplikace funguje podle očekávání. V případě úspěchu by se měla zobrazit zpráva podobná
[INFO] [AUDIT] CWWKZ0003I: The application javaee-cafe updated in 1.930 seconds.
výstupu příkazu. Přejděte dohttps://localhost:9443/
prohlížeče a ověřte, že je aplikace přístupná a všechny funkce fungují.Pokud chcete režim zastavit
liberty:devc
, stiskněte control+ C.
Příprava image aplikace
Pokud chcete nasadit a spustit aplikaci Liberty v clusteru Azure Red Hat OpenShift, kontejnerizujte aplikaci jako image Dockeru pomocí imagí kontejnerů Open Liberty nebo imagí kontejnerů WebSphere Liberty.
Sestavení aplikace a nasdílení změn do streamu image
Vzhledem k tomu, že jste aplikaci už úspěšně spustili v kontejneru Liberty Docker pomocí liberty:devc
příkazu, pomocí následujícího postupu sestavíte image vzdáleně v clusteru:
Pomocí přihlašovacích údajů se ujistěte, že se přihlašujete k rozhraní příkazového
kubeadmin
řádku OpenShift.Pomocí následujících příkazů identifikujte zdrojový adresář a soubor Dockerfile:
cd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql # If you are building with the Open Liberty base image, the existing Dockerfile is ready for you # If you are building with the WebSphere Liberty base image, uncomment and execute the following two commands to rename Dockerfile-wlp to Dockerfile # mv Dockerfile Dockerfile.backup # mv Dockerfile-wlp Dockerfile
Pomocí následujícího příkazu změňte projekt na open-liberty-demo:
oc project open-liberty-demo
K vytvoření streamu image použijte následující příkaz:
oc create imagestream javaee-cafe-mysql
Pomocí následujícího příkazu vytvořte konfiguraci sestavení, která určuje značku streamu image výstupu sestavení:
oc new-build --name javaee-cafe-mysql-config --binary --strategy docker --to javaee-cafe-mysql:v1
Spuštěním následujícího příkazu spusťte sestavení pro nahrání místního obsahu, kontejnerizace a výstupu do značky streamu image zadané dříve:
oc start-build javaee-cafe-mysql-config --from-dir . --follow
Nasazení aplikace v clusteru Azure Red Hat OpenShift
Teď můžete ukázkovou aplikaci Liberty nasadit do clusteru Azure Red Hat OpenShift, který jste vytvořili dříve při práci s požadavky.
Nasazení aplikace z webové konzoly
Vzhledem k tomu, že používáme Open Liberty Operator ke správě aplikací Liberty, potřebujeme vytvořit instanci vlastní definice prostředku typu OpenLibertyApplication
. Operátor se stará o všechny aspekty správy prostředků OpenShift vyžadovaných pro nasazení. K vytvoření této instance použijte následující postup:
Přihlaste se z prohlížeče k webové konzole OpenShift pomocí přihlašovacích
kubeadmin
údajů.Rozbalte domovskou stránku, vyberte projekty>open-liberty-demo.
Přejděte na operátory nainstalované operátory>.
Uprostřed stránky se zobrazí otevřená svoboda.
V zadaných rozhraních API vyberte OpenLibertyApplication. Navigace položek v uživatelském rozhraní zrcadlí skutečnou hierarchii zahrnutí technologií, které se používají.
Vyberte Vytvořit OpenLibertyApplication.
Vyberte zobrazení YAML pro konfiguraci prostřednictvím.
Vygenerovaný yaml nahraďte vaším souborem, který se nachází v <cestě k úložišti>/3-integration/connect-db/mysql/target/openlibertyapplication.yaml.
Vyberte Vytvořit. Vrátíte se do seznamu OpenLibertyApplications.
Přejděte na tajné kódy> úloh.
Vyberte Vytvořit> z YAML.
Vygenerovaný yaml nahraďte vaším souborem, který se nachází v <cestě k úložišti>/3-integration/connect-db/mysql/target/db-secret.yaml.
Vyberte Vytvořit. Vrátíte se na stránku s podrobnostmi o tajném kódu.
Přejděte na Operátory>instalované operátory>Open Liberty>OpenLibertyApplication.
Vyberte javaee-café-mysql.
Uprostřed stránky vyberte Prostředky.
V tabulce vyberte odkaz pro javaee-café-mysql s typem trasy.
Na stránce, která se otevře, vyberte odkaz pod umístěním.
Domovská stránka aplikace se otevře v prohlížeči.
Odstranění aplikace z webové konzoly
Až budete s aplikací hotovi, pomocí následujícího postupu aplikaci odstraňte z Open Shiftu:
- V levém navigačním podokně rozbalte položku pro operátory.
- Vyberte nainstalované operátory.
- Vyberte Otevřít svobodu.
- Uprostřed stránky vyberte OpenLibertyApplication.
- V případě javaee-café-mysql vyberte svislé tečky (tři svislé tečky) a pak vyberte Odstranit OpenLibertyApplication.
- Aplikaci odstraníte výběrem možnosti Odstranit .
Pomocí následujícího postupu odstraňte tajný kód z Open Shiftu:
- Přejděte na tajné kódy> úloh.
- Vyberte db-secret-mysql.
- Vyberte Akce>odstranit tajný klíč.
- Chcete-li odstranit tajný klíč, vyberte Odstranit .
Vyčištění prostředků
Pomocí postupu v kurzu odstraňte cluster Azure Red Hat OpenShift: Odstranění clusteru Azure Red Hat OpenShift 4. Ujistěte se, že databáze a všechny přidružené prostředky jsou také odstraněny.
Další kroky
Další informace najdete v referencích použitých v tomto průvodci:
- Otevřít Svobodu
- Azure Red Hat OpenShift
- Operátor Open Liberty
- Otevření konfigurace serveru Liberty
- Liberty Maven Plugin
- Otevření imagí kontejneru Liberty
- Image kontejnerů WebSphere Liberty
Pokud chcete prozkoumat možnosti spouštění produktů WebSphere v Azure, přečtěte si téma Co jsou řešení pro spuštění řady produktů WebSphere v Azure?
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro