Udostępnij za pośrednictwem


Szybki start: wdrażanie klastra EAP JBoss na maszynach wirtualnych platformy Azure

W tym artykule pokazano, jak szybko wdrożyć klaster JBoss Enterprise Application Platform (EAP) na maszynach wirtualnych platformy Azure przy użyciu witryny Azure Portal.

W tym artykule użyto oferty witryny Azure Marketplace dla klastra EAP JBoss, aby przyspieszyć podróż do maszyn wirtualnych platformy Azure. Oferta automatycznie aprowizuje wiele zasobów, w tym maszyn wirtualnych azure Red Hat Enterprise Linux (RHEL), wystąpień protokołu EAP JBoss na każdej maszynie wirtualnej, red hat kompilacji zestawu OpenJDK na każdej maszynie wirtualnej, konsoli zarządzania JBoss EAP i opcjonalnie wystąpienia bramy aplikacja systemu Azure. Aby wyświetlić ofertę, odwiedź stronę rozwiązania JBoss EAP Cluster on RHEL VMs using the Azure Portal (Klaster JBoss EAP na maszynach wirtualnych RHEL przy użyciu witryny Azure Portal).

Jeśli wolisz ręczne wskazówki krok po kroku dotyczące instalowania klastra EAP oprogramowania Red Hat JBoss na maszynach wirtualnych platformy Azure, które nie korzystają z automatyzacji włączonej przez ofertę witryny Azure Marketplace, zobacz Samouczek: instalowanie protokołu EAP oprogramowania Red Hat JBoss na maszynach wirtualnych platformy Azure.

Jeśli chcesz przekazać opinię lub ściśle pracować nad scenariuszami migracji z zespołem inżynierów opracowującym rozwiązanie JBoss EAP na platformie Azure, wypełnij tę krótką ankietę dotyczącą migracji JBoss EAP i dołącz swoje informacje kontaktowe. Zespół menedżerów programów, architektów i inżynierów natychmiast skontaktuje się z Tobą w celu zainicjowania ścisłej współpracy.

Wymagania wstępne

  • Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
  • Upewnij się, że tożsamość platformy Azure używana do logowania ma rolę Współautor lub Właściciel w bieżącej subskrypcji. Aby zapoznać się z omówieniem ról platformy Azure, zobacz Co to jest kontrola dostępu oparta na rolach platformy Azure (Azure RBAC)?
  • Upewnij się, że masz wymagane licencje oprogramowania Red Hat. Musisz mieć konto Red Hat z uprawnieniami do zarządzania subskrypcjami Red Hat (RHSM) dla protokołu EAP JBoss. To uprawnienie umożliwia witrynie Azure Portal zainstalowanie przetestowanej i certyfikowanej wersji oprogramowania JBoss EAP w witrynie Red Hat.

    Uwaga

    Jeśli nie masz uprawnień do korzystania z protokołu EAP, możesz zarejestrować się w celu uzyskania bezpłatnej subskrypcji dla deweloperów za pośrednictwem subskrypcji red hat developer dla użytkowników indywidualnych. Zapisz szczegóły konta, które są używane jako nazwa użytkownika programu RHSM i hasło RHSM w następnej sekcji.

  • Po zarejestrowaniu możesz znaleźć niezbędne poświadczenia (identyfikatory puli), wykonując następujące kroki. Identyfikatory puli są również używane jako identyfikator puli RHSM z uprawnieniami protokołu EAP w dalszej części tego artykułu.
    1. Zaloguj się do konta usługi Red Hat.

    2. Po pierwszym zalogowaniu zostanie wyświetlony monit o ukończenie profilu. Upewnij się, że wybrano pozycję Osobiste dla pozycji Typ konta, jak pokazano na poniższym zrzucie ekranu.

      Zrzut ekranu przedstawiający stronę Aktualizowanie konta w profilu Red Hat.

    3. Na karcie, na której się logujesz, otwórz subskrypcję red hat Developer Subscription for Individuals. Ten link umożliwia przejście do wszystkich subskrypcji na koncie dla odpowiedniej jednostki SKU.

    4. Wybierz pierwszą subskrypcję z tabeli Wszystkie zakupione subskrypcje .

    5. Skopiuj i zapisz wartość obok następujących pul głównych z identyfikatorów puli.

  • Zestaw Java Development Kit (JDK), wersja 11. W tym przewodniku zalecamy red hat build of OpenJDK. Upewnij się, że JAVA_HOME zmienna środowiskowa jest poprawnie ustawiona w powłokach, w których uruchamiasz polecenia.
  • Git. Użyj polecenia git --version , aby sprawdzić, czy git działa. Ten samouczek został przetestowany z wersją 2.34.1.
  • Maven. Użyj polecenia mvn -version , aby sprawdzić, czy mvn działa. Ten samouczek został przetestowany z wersją 3.8.6.

Uwaga

Oferta witryny Azure Marketplace, której będziesz używać w tym artykule, obejmuje obsługę aplikacji Red Hat Satellite na potrzeby zarządzania licencjami. Korzystanie z narzędzia Red Hat Satellite wykracza poza zakres tego przewodnika Szybki start. Aby zapoznać się z omówieniem satelity Red Hat, zobacz Red Hat Satellite. Aby dowiedzieć się więcej na temat przenoszenia subskrypcji oprogramowania Red Hat JBoss EAP i Red Hat Enterprise Linux na platformę Azure, zobacz Program Red Hat Cloud Access.

Konfigurowanie elastycznego serwera usługi Azure Database for PostgreSQL

Kroki opisane w tej sekcji umożliwiają wdrożenie elastycznego serwera usługi Azure Database for PostgreSQL, który jest używany do konfigurowania połączenia bazy danych podczas konfigurowania klastra protokołu EAP JBoss w następnej sekcji.

Najpierw użyj następującego polecenia, aby skonfigurować niektóre zmienne środowiskowe.

export RG_NAME=<db-resource-group-name>
export SERVER_NAME=<database-server-name>
export ADMIN_PASSWORD=<postgresql-admin-password>

Zastąp symbole zastępcze następującymi wartościami, które są używane w całym artykule:

  • <db-resource-group-name>: nazwa grupy zasobów do użycia dla serwera elastycznego PostgreSQL — na przykład ejb040323postgresrg.
  • <database-server-name>: nazwa serwera PostgreSQL, który powinien być unikatowy na platformie Azure — na przykład ejb040323postgresqlserver.
  • <postgresql-admin-password>: hasło serwera PostgreSQL. To hasło musi zawierać co najmniej osiem znaków i co najwyżej 128 znaków. Znaki powinny pochodzić z trzech z następujących kategorii: wielkie litery angielskie, małe litery angielskie, cyfry (0–9) i znaki niefanumeryczne (!, $, #, %itd.).

Następnie wykonaj następujące kroki, aby utworzyć serwer elastyczny usługi Azure Database for PostgreSQL:

  1. Użyj następującego polecenia, aby utworzyć serwer elastyczny usługi Azure Database for PostgreSQL:

    az postgres flexible-server create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --database-name testdb \
        --public-access 0.0.0.0  \
        --admin-user testuser \
        --admin-password ${ADMIN_PASSWORD} \
        --yes
    
  2. Użyj następującego polecenia, aby uzyskać hosta serwera PostgreSQL:

    export DB_HOST=$(az postgres flexible-server show \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --query "fullyQualifiedDomainName" \
        --output tsv)
    
  3. Użyj następującego polecenia, aby uzyskać adres URL połączenia usługi Łączności bazy danych Java (JDBC) serwera PostgreSQL:

    echo jdbc:postgresql://${DB_HOST}:5432/testdb
    

    Zanotuj dane wyjściowe, które są używane jako źródło danych parametry połączenia serwera PostgreSQL w dalszej części tego artykułu.

Wdrażanie klastra JBoss EAP na maszynach wirtualnych platformy Azure

Kroki opisane w tej sekcji umożliwiają wdrożenie klastra JBoss EAP na maszynach wirtualnych platformy Azure.

Aby znaleźć ofertę klastra EAP JBoss na maszynach wirtualnych platformy Azure, wykonaj następujące kroki:

  1. Zaloguj się do witryny Azure Portal, odwiedzając stronę https://aka.ms/publicportal.

  2. Na pasku wyszukiwania w górnej części witryny Azure Portal wprowadź ciąg JBoss EAP. W wynikach wyszukiwania w sekcji Marketplace wybierz pozycję Klaster EAP JBoss na maszynach wirtualnych.

    Zrzut ekranu witryny Azure Portal przedstawiający serwer JBoss EAP na maszynie wirtualnej platformy Azure w wynikach wyszukiwania.

  3. W menu rozwijanym upewnij się, że wybrano opcję PŁATNOŚĆ zgodnie z rzeczywistym użyciem .

Alternatywnie możesz również przejść bezpośrednio do oferty JBoss EAP Cluster on Azure VMs (Klaster EAP JBoss na maszynach wirtualnych platformy Azure). W tym przypadku prawidłowy plan jest już wybrany.

W obu przypadkach ta oferta wdraża klaster JBoss EAP na maszynach wirtualnych platformy Azure, zapewniając subskrypcję red hat w czasie wdrażania. Oferta uruchamia klaster w systemie Red Hat Enterprise Linux przy użyciu konfiguracji płatności zgodnie z rzeczywistym użyciem dla podstawowych maszyn wirtualnych.

Poniższe kroki pokazują, jak wypełnić okienko Podstawy pokazane na poniższym zrzucie ekranu.

Zrzut ekranu witryny Azure Portal przedstawiający okienko JBoss EAP Cluster on VMs Basics (Podstawy maszyn wirtualnych).

  1. Na stronie oferty wybierz pozycję Utwórz.
  2. W okienku Podstawowe upewnij się, że wartość wyświetlana w polu Subskrypcja jest taka sama, która ma role wymienione w sekcji wymagań wstępnych.
  3. Należy wdrożyć ofertę w pustej grupie zasobów. W polu Grupa zasobów wybierz pozycję Utwórz nową i wypełnij wartość dla grupy zasobów. Ponieważ grupy zasobów muszą być unikatowe w ramach subskrypcji, wybierz unikatową nazwę. Łatwym sposobem na używanie unikatowych nazw jest użycie kombinacji inicjałów, dzisiejszej daty i identyfikatora. Na przykład ejb040323jbosseapcluster.
  4. W obszarze Szczegóły wystąpienia wybierz region wdrożenia.
  5. Pozostaw domyślny rozmiar maszyny wirtualnej dla rozmiaru maszyny wirtualnej.
  6. Pozostaw opcję domyślną OpenJDK 17 dla wersji JDK.
  7. Pozostaw wartość domyślną jbossuser w polu Nazwa użytkownika.
  8. Pozostaw domyślną opcję Hasło dla typu uwierzytelniania.
  9. Podaj hasło hasła. Użyj tej samej wartości dla opcji Potwierdź hasło.
  10. Użyj wartości 3 , aby utworzyć liczbę maszyn wirtualnych.
  11. W obszarze Opcjonalna konfiguracja podstawowa pozostaw domyślną opcję Tak dla opcji Zaakceptuj wartości domyślne dla konfiguracji opcjonalnej.
  12. Przewiń do dołu okienka Podstawy i zwróć uwagę na przydatne linki dotyczące problemów z raportami, uzyskaj pomoc i podziel się opinią.
  13. Wybierz pozycję Dalej: Ustawienia protokołu EAP JBoss.

Poniższe kroki pokazują, jak wypełnić okienko Ustawienia protokołu EAP JBoss pokazane na poniższym zrzucie ekranu.

Zrzut ekranu witryny Azure Portal przedstawiający okienko Ustawienia protokołu EAP JBoss na maszynach wirtualnych JBoss EAP.

  1. Pozostaw domyślną opcję Domena zarządzana dla opcji Użyj domeny zarządzanej lub hostów autonomicznych, aby utworzyć klaster.
  2. Pozostaw wartość domyślną jbossadmin dla nazwy użytkownika administratora protokołu JBoss EAP.
  3. Podaj hasło JBoss EAP dla hasła JBoss EAP. Użyj tej samej wartości dla opcji Potwierdź hasło. Zapisz wartość na bok do późniejszego użycia.
  4. Pozostaw opcję domyślną Nie dla opcji Połącz z istniejącym serwerem satelitarnym Red Hat?.
  5. Podaj nazwę użytkownika RHSM dla nazwy użytkownika RHSM. Wartość jest taka sama, która została przygotowana w sekcji wymagań wstępnych.
  6. Podaj hasło RHSM dla hasła RHSM. Użyj tej samej wartości dla opcji Potwierdź hasło. Wartość jest taka sama, która została przygotowana w sekcji wymagań wstępnych.
  7. Podaj identyfikator puli RHSM dla identyfikatora puli RHSM z uprawnieniem protokołu EAP. Wartość jest taka sama, która została przygotowana w sekcji wymagań wstępnych.
  8. Wybierz pozycję Dalej: aplikacja systemu Azure Gateway.

Poniższe kroki pokazują, jak wypełnić okienko bramy aplikacja systemu Azure pokazane na poniższym zrzucie ekranu.

Zrzut ekranu witryny Azure Portal przedstawiający klaster JBoss EAP na maszynach wirtualnych aplikacja systemu Azure okienku Brama.

  1. Wybierz pozycję Tak dla pozycji Połącz z bramą aplikacja systemu Azure?.

  2. Wybierz pozycję Dalej: Sieć.

    To okienko umożliwia dostosowanie sieci wirtualnej i podsieci, w której wdraża się klaster JBoss EAP. Aby uzyskać informacje o sieciach wirtualnych, zobacz Tworzenie, zmienianie lub usuwanie sieci wirtualnej. Zaakceptuj wartości domyślne w tym okienku.

  3. Wybierz pozycję Dalej: Baza danych.

Poniższe kroki pokazują, jak wypełnić okienko Baza danych pokazane na poniższym zrzucie ekranu i rozpocząć wdrażanie.

Zrzut ekranu witryny Azure Portal przedstawiający okienko JBoss EAP Cluster on VMs Database (Klaster EAP JBoss w bazie danych maszyn wirtualnych).

  1. Wybierz pozycję Tak dla opcji Połącz z bazą danych?.
  2. Wybierz pozycję PostgreSQL dla pozycji Wybierz typ bazy danych.
  3. Wypełnij ciąg java:jboss/datasources/JavaEECafeDB jako nazwę JNDI.
  4. Podaj adres URL połączenia JDBC serwera PostgreSQL, który został wcześniej zapisany w polu Źródło danych parametry połączenia (jdbc:postgresql://<host>:<port>/<database>).
  5. Wypełnij pole testuser for Database username (Nazwa użytkownika bazy danych).
  6. Podaj wartość symbolu <postgresql-admin-password>zastępczego , który został określony wcześniej w polu Hasło bazy danych. Użyj tej samej wartości dla opcji Potwierdź hasło.
  7. Wybierz pozycję Przejrzyj i utwórz. Upewnij się, że w górnej części ekranu pojawi się zielony komunikat Weryfikacja przekazana pomyślnie. Jeśli komunikat nie zostanie wyświetlony, rozwiąż problemy z walidacją, a następnie ponownie wybierz pozycję Przejrzyj i utwórz .
  8. Wybierz pozycję Utwórz.
  9. Śledzenie postępu wdrażania na stronie Wdrażanie jest w toku .

W zależności od warunków sieciowych i innych działań w wybranym regionie wdrożenie może potrwać do 35 minut. Następnie powinien zostać wyświetlony tekst Wdrożenie zostało ukończone na stronie wdrożenia.

Weryfikowanie funkcjonalności wdrożenia

Wykonaj następujące kroki, aby zweryfikować funkcjonalność wdrożenia klastra JBoss EAP na maszynach wirtualnych platformy Azure z konsoli zarządzania red hat JBoss Enterprise Application Platform :

  1. Na stronie wdrożenia wybierz pozycję Dane wyjściowe.

  2. Wybierz ikonę kopiowania obok pozycji adminConsole.

    Zrzut ekranu witryny Azure Portal przedstawiający dane wyjściowe wdrożenia z wyróżnionym adresem URL adminConsole.

  3. Wklej adres URL do przeglądarki internetowej połączonej z Internetem i naciśnij Enter. Powinien zostać wyświetlony ekran logowania do konsoli zarządzania platformą zarządzania platformą aplikacji dla przedsiębiorstw w systemie Red Hat, jak pokazano na poniższym zrzucie ekranu.

    Zrzut ekranu przedstawiający ekran logowania konsoli zarządzania JBoss EAP.

  4. Wypełnij pole jbossadmin dla nazwy użytkownika administratora protokołu JBoss EAP Podaj wartość hasła JBoss EAP określonego wcześniej dla pozycji Hasło, a następnie wybierz pozycję Zaloguj.

  5. Powinna zostać wyświetlona znana strona powitalna konsoli zarządzania platformą zarządzania platformą aplikacji dla przedsiębiorstw w systemie Red Hat JBoss, jak pokazano na poniższym zrzucie ekranu.

    Zrzut ekranu przedstawiający stronę powitalną konsoli zarządzania JBoss EAP.

  6. Wybierz kartę Środowisko uruchomieniowe . W okienku nawigacji wybierz pozycję Topologia. Powinien zostać wyświetlony komunikat, że klaster zawiera jeden wzorzec kontrolera domeny i dwa węzły robocze, jak pokazano na poniższym zrzucie ekranu:

    Zrzut ekranu przedstawiający topologię środowiska uruchomieniowego środowiska uruchomieniowego JBoss EAP.

  7. Wybierz kartę Konfiguracja. W okienku nawigacji wybierz pozycję Profile>ha>Źródła danych i sterowniki>Źródła danych. Powinna zostać wyświetlona pozycja datasource-postgresql, jak pokazano na poniższym zrzucie ekranu:

    Zrzut ekranu przedstawiający kartę Konfiguracja konsoli zarządzania JBoss EAP z wybranymi źródłami danych.

Pozostaw otwartą konsolę zarządzania. Służy do wdrażania przykładowej aplikacji w klastrze JBoss EAP w następnej sekcji.

Wdrażanie aplikacji w klastrze JBoss EAP

Wykonaj następujące kroki, aby wdrożyć przykładową aplikację Java EE Cafe w klastrze Red Hat JBoss EAP:

  1. Wykonaj poniższe kroki, aby utworzyć przykład Java EE Cafe. W poniższych krokach przyjęto założenie, że masz zainstalowane środowisko lokalne z zainstalowanymi usługami Git i Maven:

    1. Użyj następującego polecenia, aby sklonować kod źródłowy z usługi GitHub i wyewidencjonować tag odpowiadający tej wersji artykułu:

      git clone https://github.com/Azure/rhel-jboss-templates.git --branch 20230418 --single-branch
      

      Jeśli zostanie wyświetlony komunikat o błędzie z tekstem You are in 'detached HEAD' state, możesz bezpiecznie go zignorować.

    2. Użyj następującego polecenia, aby skompilować kod źródłowy:

      mvn clean install --file rhel-jboss-templates/eap-coffee-app/pom.xml
      

      To polecenie tworzy plik rhel-jboss-templates/eap-coffee-app/target/javaee-café.war. Ten plik zostanie przekazany w następnym kroku.

  2. Aby przekazać plik javaee-café.war do repozytorium zawartości, wykonaj następujące kroki w konsoli zarządzania platformą aplikacji Red Hat JBoss Enterprise Application Platform.

    1. Na karcie Wdrożenia konsoli zarządzania red hat JBoss EAP wybierz pozycję Repozytorium zawartości w panelu nawigacyjnym.

    2. Wybierz pozycję Dodaj , a następnie wybierz pozycję Przekaż zawartość.

      Zrzut ekranu przedstawiający kartę Wdrożenia konsoli zarządzania protokołu EAP narzędzia JBoss z wyróżnionym elementem menu Przekaż zawartość.

    3. Użyj selektora plików przeglądarki, aby wybrać plik javaee-café.war .

    4. Wybierz Dalej.

    5. Zaakceptuj wartości domyślne na następnym ekranie, a następnie wybierz pozycję Zakończ.

    6. Wybierz pozycję Wyświetl zawartość.

  3. Aby wdrożyć aplikację w programie main-server-group, wykonaj następujące czynności:

    1. W obszarze Repozytorium zawartości wybierz pozycję javaee-café.war.

    2. Otwórz menu rozwijane i wybierz pozycję Wdróż.

    3. Wybierz grupę main-server-group jako grupę serwerów na potrzeby wdrażania pliku javaee-café.war.

    4. Wybierz pozycję Wdróż , aby rozpocząć wdrażanie. Powinna zostać wyświetlona informacja podobna do poniższego zrzutu ekranu:

      Zrzut ekranu przedstawiający powiadomienie o pomyślnym wdrożeniu.

Teraz zakończono wdrażanie aplikacji Java EE. Wykonaj następujące kroki, aby uzyskać dostęp do aplikacji i zweryfikować wszystkie ustawienia:

  1. Użyj następującego polecenia, aby uzyskać publiczny adres IP bramy aplikacja systemu Azure. Zastąp symbol zastępczy <resource-group-name> nazwą grupy zasobów, w której wdrożony jest klaster JBoss EAP.

    az network public-ip show \
        --resource-group <resource-group-name> \
        --name gwip \
        --query '[ipAddress]' \
        --output tsv
    
  2. Skopiuj dane wyjściowe, czyli publiczny adres IP wdrożonej bramy aplikacja systemu Azure.

  3. Otwórz przeglądarkę internetową połączoną z Internetem.

  4. Przejdź do aplikacji przy użyciu adresu URL http://<gateway-public-ip-address>/javaee-cafe. Zastąp symbol zastępczy <gateway-public-ip-address> publicznym adresem IP skopiowanej wcześniej bramy aplikacja systemu Azure Gateway.

  5. Spróbuj dodać i usunąć kawę.

Czyszczenie zasobów

Aby uniknąć opłat za platformę Azure, należy wyczyścić niepotrzebne zasoby. Jeśli nie potrzebujesz już klastra JBoss EAP wdrożonego na maszynach wirtualnych platformy Azure, wyrejestruj serwery JBoss EAP i usuń zasoby platformy Azure.

Uruchom następujące polecenie, aby wyrejestrować serwery i maszyny wirtualne JBoss EAP z zarządzania subskrypcjami oprogramowania Red Hat. Zastąp symbol zastępczy <resource-group-name> nazwą grupy zasobów, w której wdrożony jest klaster JBoss EAP.

# Unregister domain controller
az vm run-command invoke \
    --resource-group <resource-group-name> \
    --name jbosseapVm-adminVM \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"

# Unregister host controllers
az vm run-command invoke \
    --resource-group <resource-group-name> \
    --name jbosseapVm1 \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"
az vm run-command invoke \
    --resource-group <resource-group-name> \
    --name jbosseapVm1 \
    --command-id RunShellScript \
    --scripts "sudo subscription-manager unregister"

Uruchom następujące polecenia, aby usunąć dwie grupy zasobów, w których wdrożono klaster JBoss EAP i serwer elastyczny usługi Azure Database for PostgreSQL. Zastąp symbol zastępczy <resource-group-name> nazwą grupy zasobów, w której wdrożony jest klaster JBoss EAP. Upewnij się, że zmienna środowiskowa $RG_NAME jest ustawiona z nazwą grupy zasobów, w której wdrożono serwer elastyczny PostgreSQL.

az group delete --name <resource-group-name> --yes --no-wait
az group delete --name $RG_NAME --yes --no-wait

Następne kroki

Dowiedz się więcej o opcjach wdrażania protokołu JBoss EAP na platformie Azure: