Wdrażanie aplikacji Java przy użyciu rozwiązania Red Hat JBoss Enterprise Application Platform (JBoss EAP) w klastrze usługi Azure Red Hat OpenShift 4

W tym artykule pokazano, jak wdrożyć aplikację Red Hat JBoss Enterprise Application Platform (JBoss EAP) w klastrze usługi Azure Red Hat OpenShift 4. Przykład jest aplikacją Java wspieraną przez bazę danych SQL. Aplikacja jest wdrażana przy użyciu pakietów Helm JBoss EAP.

Przewodnik przeprowadzi Cię przez proces migracji aplikacji Java do orkiestratora kontenerów, takiego jak Azure Red Hat OpenShift. Najpierw opisano sposób tworzenia pakietów aplikacji jako rozruchowego pliku JAR w celu uruchomienia go lokalnie. Na koniec przedstawiono sposób wdrażania w usłudze OpenShift z trzema replikami aplikacji JBoss EAP przy użyciu pakietów Helm.

Ten artykuł zawiera szczegółowe wskazówki dotyczące uruchamiania aplikacji JBoss EAP w klastrze usługi Azure Red Hat OpenShift 4. Aby uzyskać bardziej zautomatyzowane rozwiązanie, które przyspiesza podróż do klastra usługi Azure Red Hat OpenShift 4, zobacz Szybki start: wdrażanie protokołu JBoss EAP w usłudze Azure Red Hat OpenShift przy użyciu witryny Azure Portal.

Przykład jest stanową aplikacją, która przechowuje informacje w sesji HTTP. Korzysta z funkcji klastrowania JBoss EAP i korzysta z następujących technologii Jakarta EE i MicroProfile:

  • Twarze serwera Dżakarta
  • Fasola dżakarta Enterprise
  • Trwałość Dżakarta
  • Kondycja mikroprofile

Ważne

W tym artykule wdrożono aplikację przy użyciu pakietów Helm JBoss EAP. W momencie pisania tego artykułu ta funkcja jest nadal oferowana jako wersja Zapoznawcza Technologii. Przed podjęciem decyzji o wdrażaniu aplikacji za pomocą pakietów Helm JBoss EAP w środowiskach produkcyjnych upewnij się, że ta funkcja jest obsługiwaną funkcją dla wersji produktu JBoss EAP/XP.

Ważne

Chociaż usługa Azure Red Hat OpenShift jest wspólnie zaprojektowana, obsługiwana i obsługiwana przez firmę Red Hat i Microsoft w celu zapewnienia zintegrowanego środowiska pomocy technicznej, oprogramowanie uruchamiane na platformie Azure Red Hat OpenShift, w tym opisane w tym artykule, podlega własnym warunkom pomocy technicznej i postanowień licencyjnych. Aby uzyskać szczegółowe informacje o obsłudze usługi Azure Red Hat OpenShift, zobacz Cykl życia pomocy technicznej dla usługi Azure Red Hat OpenShift 4. Aby uzyskać szczegółowe informacje o obsłudze oprogramowania opisanego w tym artykule, zobacz strony główne dotyczące tego oprogramowania zgodnie z opisem w artykule.

Wymagania wstępne

Uwaga

Usługa Azure Red Hat OpenShift wymaga co najmniej 40 rdzeni do utworzenia i uruchomienia klastra OpenShift. Domyślny limit przydziału zasobów platformy Azure dla nowej subskrypcji platformy Azure nie spełnia tego wymagania. Aby zażądać zwiększenia limitu zasobów, zobacz Limit przydziału w warstwie Standardowa: Zwiększanie limitów według serii maszyn wirtualnych. Pamiętaj, że subskrypcja bezpłatnej wersji próbnej nie kwalifikuje się do zwiększenia limitu przydziału, uaktualnij subskrypcję do subskrypcji z płatnością zgodnie z rzeczywistym użyciem przed zażądaniem zwiększenia limitu przydziału.

  1. Przygotuj maszynę lokalną z systemem operacyjnym przypominającym system Unix obsługiwanym przez różne zainstalowane produkty — takie jak Ubuntu, macOS lub Podsystem Windows dla systemu Linux.

  2. Zainstaluj implementację środowiska Java SE. Kroki programowania lokalnego w tym artykule zostały przetestowane przy użyciu zestawu JDK 17 z kompilacji microsoft OpenJDK.

  3. Zainstaluj program Maven 3.8.6 lub nowszy.

  4. Zainstaluj interfejs wiersza polecenia platformy Azure w wersji 2.40 lub nowszej.

  5. Sklonuj kod tej aplikacji demonstracyjnej (lista zadań do wykonania) do systemu lokalnego. Aplikacja demonstracyjna znajduje się w witrynie GitHub.

  6. Postępuj zgodnie z instrukcjami w artykule Create an Azure Red Hat OpenShift 4 cluster (Tworzenie klastra usługi Azure Red Hat OpenShift 4).

    Chociaż krok "Pobierz wpis tajny ściągnięcia red hat" jest oznaczony jako opcjonalny, jest wymagany w tym artykule. Wpis tajny ściągania umożliwia klastrowi usługi Azure Red Hat OpenShift znajdowanie obrazów aplikacji JBoss EAP.

    Jeśli planujesz uruchamianie aplikacji intensywnie korzystających z pamięci w klastrze, określ odpowiedni rozmiar maszyny wirtualnej dla węzłów procesu roboczego przy użyciu parametru --worker-vm-size . Aby uzyskać więcej informacji, zobacz:

  7. Połączenie do klastra, wykonując kroki opisane w artykule Połączenie do klastra usługi Azure Red Hat OpenShift 4.

    • Wykonaj kroki opisane w temacie "Instalowanie interfejsu wiersza polecenia platformy OpenShift"
    • Połączenie do klastra usługi Azure Red Hat OpenShift przy użyciu interfejsu wiersza polecenia platformy OpenShift z użytkownikiemkubeadmin
  8. Wykonaj następujące polecenie, aby utworzyć projekt OpenShift dla tej aplikacji demonstracyjnej:

    oc new-project eap-demo
    
  9. Wykonaj następujące polecenie, aby dodać rolę widoku do domyślnego konta usługi. Ta rola jest potrzebna, aby aplikacja mogła odnaleźć inne zasobniki i utworzyć z nimi klaster:

    oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default -n $(oc project -q)
    

Przygotowywanie aplikacji

Sklonuj przykładową aplikację przy użyciu następującego polecenia:

git clone https://github.com/Azure-Samples/jboss-on-aro-jakartaee

Sklonowana aplikacja demonstracyjna Todo-list i repozytorium lokalne znajduje się w main gałęzi . Aplikacja demonstracyjna to prosta aplikacja Java, która tworzy, odczytuje, aktualizuje i usuwa rekordy w usłudze Azure SQL. Tę aplikację można wdrożyć na serwerze JBoss EAP zainstalowanym na komputerze lokalnym. Wystarczy skonfigurować serwer przy użyciu wymaganego sterownika bazy danych i źródła danych. Potrzebny jest również serwer bazy danych dostępny ze środowiska lokalnego.

Jednak jeśli używasz platformy OpenShift, możesz przyciąć możliwości serwera JBoss EAP. Na przykład możesz zmniejszyć narażenie na zabezpieczenia aprowizowanego serwera i zmniejszyć całkowity rozmiar. Możesz również uwzględnić niektóre specyfikacje microProfile, aby aplikacja bardziej odpowiednia do działania w środowisku OpenShift. W przypadku korzystania z protokołu JBoss EAP jednym ze sposobów wykonania tego zadania jest pakowanie aplikacji i serwera w jednej jednostce wdrażania znanej jako rozruchowy plik JAR. Zróbmy to, dodając wymagane zmiany do naszej aplikacji demonstracyjnej.

Przejdź do lokalnego repozytorium aplikacji demonstracyjnej i zmień gałąź na bootable-jar:

## cd jboss-on-aro-jakartaee
git checkout bootable-jar

Przyjrzyjmy się temu, co zmieniliśmy w tej gałęzi:

  • Dodaliśmy wtyczkę wildfly-jar-maven , aby aprowizować serwer i aplikację w jednym wykonywalnym pliku JAR. Jednostka wdrażania platformy OpenShift to nasz serwer z naszą aplikacją.
  • W wtyczki Maven określono zestaw warstw Galleon. Ta konfiguracja umożliwia przycinanie możliwości serwera tylko do tego, czego potrzebujemy. Pełną dokumentację dotyczącą Galleon można znaleźć w dokumentacji platformy WildFly.
  • Nasza aplikacja używa twarzy Dżakarta z żądaniami Ajax, co oznacza, że w sesji HTTP są przechowywane informacje. Nie chcemy tracić takich informacji, jeśli zasobnik zostanie usunięty. Możemy zapisać te informacje na kliencie i wysłać je z powrotem na każde żądanie. Istnieją jednak przypadki, w których można zrezygnować z dystrybucji niektórych informacji do klientów. W tym pokazie wybraliśmy replikację sesji we wszystkich replikach zasobników. W tym celu dodaliśmy <distributable /> element do elementu web.xml. To, wraz z możliwościami klastrowania serwerów, sprawia, że sesja HTTP jest dystrybuowana we wszystkich zasobnikach.
  • Dodaliśmy dwie testy kondycji mikroprofile, które umożliwiają identyfikację, kiedy aplikacja jest aktywna i gotowa do odbierania żądań.

Lokalne uruchamianie aplikacji

Przed wdrożeniem aplikacji w usłudze OpenShift uruchomimy ją lokalnie, aby sprawdzić, jak działa. W poniższych krokach założono, że usługa Azure SQL jest uruchomiona i dostępna w środowisku lokalnym.

Aby utworzyć bazę danych, wykonaj kroki opisane w przewodniku Szybki start: tworzenie pojedynczej bazy danych usługi Azure SQL Database, ale użyj następujących podstawień.

  • W przypadku grupy zasobów użyj utworzonej wcześniej grupy zasobów.
  • W polu Nazwa bazy danych użyj .todos_db
  • W przypadku logowania administratora serwera użyj polecenia azureuser.
  • W przypadku hasła użyj polecenia Passw0rd!.
  • W sekcji Reguły zapory przełącz opcję Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera na wartość Tak.

Wszystkie inne ustawienia można bezpiecznie używać z połączonego artykułu.

Na stronie Dodatkowe ustawienia nie trzeba wybierać opcji wstępnego wypełniania bazy danych z przykładowymi danymi, ale nie ma żadnych szkód.

Po utworzeniu bazy danych przy użyciu powyższej nazwy bazy danych, identyfikatora logowania administratora serwera i hasła pobierz wartość nazwy serwera ze strony przeglądu dla nowo utworzonego zasobu bazy danych w portalu. Umieść kursor myszy nad wartością pola Nazwa serwera i wybierz ikonę kopiowania wyświetlaną obok wartości. Zapisz tę wartość do użycia później (ustawimy zmienną o nazwie MSSQLSERVER_HOST na tę wartość).

Uwaga

Aby utrzymać niskie koszty pieniężne, przewodnik Szybki start przekierowuje czytelnika do wybrania bezserwerowej warstwy obliczeniowej. Ta warstwa jest skalowana do zera, gdy nie ma żadnych działań. W takim przypadku baza danych nie reaguje natychmiast. Jeśli w dowolnym momencie wykonywania kroków opisanych w tym artykule zauważysz problemy z bazą danych, rozważ wyłączenie automatycznego wstrzymywania. Aby dowiedzieć się, jak wyszukiwać automatyczne wstrzymywanie w usłudze Azure SQL Database bezserwerowe. W momencie pisania tego artykułu następujące polecenie interfejsu wiersza polecenia az wyłączy automatyczne wstrzymanie dla bazy danych skonfigurowanej w tym artykule. az sql db update --resource-group $RESOURCEGROUP --server <Server name, without the .database.windows.net part> --name todos_db --auto-pause-delay -1

Wykonaj następne kroki, aby skompilować i uruchomić aplikację lokalnie.

  1. Skompiluj rozruchowy plik JAR. Ponieważ używamy bazy eap-datasources-galleon-pack danych MS SQL Server, musimy określić wersję sterownika bazy danych, której chcemy użyć z tą konkretną zmienną środowiskową. Aby uzyskać więcej informacji na temat programu eap-datasources-galleon-pack i programu MS SQL Server, zobacz dokumentację oprogramowania Red Hat

    export MSSQLSERVER_DRIVER_VERSION=7.4.1.jre11
    mvn clean package
    
  2. Uruchom rozruchowy plik JAR przy użyciu następujących poleceń.

    Należy się upewnić, że baza danych Azure SQL Database zezwala na ruch sieciowy z hosta, na którym jest uruchomiony ten serwer. Ponieważ podczas wykonywania kroków opisanych w przewodniku Szybki start wybrano pozycję Dodaj bieżący adres IP klienta: Tworzenie pojedynczej bazy danych usługi Azure SQL Database, jeśli host, na którym jest uruchomiony serwer, jest tym samym hostem, z którego przeglądarka łączy się z witryną Azure Portal, ruch sieciowy powinien być dozwolony. Jeśli host, na którym działa serwer, jest innym hostem, zapoznaj się z artykułem Zarządzanie regułami zapory adresów IP na poziomie serwera za pomocą witryny Azure Portal.

    Podczas uruchamiania aplikacji musimy przekazać wymagane zmienne środowiskowe, aby skonfigurować źródło danych:

    export MSSQLSERVER_USER=azureuser
    export MSSQLSERVER_PASSWORD='Passw0rd!'
    export MSSQLSERVER_JNDI=java:/comp/env/jdbc/mssqlds
    export MSSQLSERVER_DATABASE=todos_db
    export MSSQLSERVER_HOST=<server name saved aside earlier>
    export MSSQLSERVER_PORT=1433
    mvn wildfly-jar:run
    

    Jeśli chcesz dowiedzieć się więcej na temat bazowego środowiska uruchomieniowego używanego w tym pokazie, pakiet Funkcji Galleon do integrowania dokumentacji źródeł danych zawiera pełną listę dostępnych zmiennych środowiskowych. Aby uzyskać szczegółowe informacje na temat koncepcji pakietu feature-pack, zobacz dokumentację platformy WildFly.

    Jeśli wystąpi błąd z tekstem podobnym do następującego przykładu:

    Cannot open server '<your prefix>mysqlserver' requested by the login. Client with IP address 'XXX.XXX.XXX.XXX' is not allowed to access the server.
    

    Ten komunikat wskazuje, że kroki umożliwiające upewnienie się, że ruch sieciowy jest dozwolony, nie zadziałał. Upewnij się, że adres IP z komunikatu o błędzie jest uwzględniony w regułach zapory.

    Jeśli zostanie wyświetlony komunikat z tekstem podobnym do następującego przykładu:

    Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: There is already an object named 'TODOS' in the database.
    

    Ten komunikat wskazuje, że przykładowe dane są już w bazie danych. Ten komunikat można zignorować.

  3. (Opcjonalnie) Jeśli chcesz zweryfikować możliwości klastrowania, możesz również uruchomić więcej wystąpień tej samej aplikacji, przekazując argument Bootable JAR jboss.node.name argument i, aby uniknąć konfliktów z numerami portów, przesuwając numery portów przy użyciu polecenia jboss.socket.binding.port-offset. Aby na przykład uruchomić drugie wystąpienie reprezentujące nowy zasobnik w usłudze OpenShift, możesz wykonać następujące polecenie w nowym oknie terminalu:

    export MSSQLSERVER_USER=azureuser
    export MSSQLSERVER_PASSWORD='Passw0rd!'
    export MSSQLSERVER_JNDI=java:/comp/env/jdbc/mssqlds
    export MSSQLSERVER_DATABASE=todos_db
    export MSSQLSERVER_HOST=<server name saved aside earlier>
    export MSSQLSERVER_PORT=1433
    mvn wildfly-jar:run -Dwildfly.bootable.arguments="-Djboss.node.name=node2 -Djboss.socket.binding.port-offset=1000"
    

    Jeśli klaster działa, możesz zobaczyć w konsoli serwera ślad podobny do następującego:

    INFO  [org.infinispan.CLUSTER] (thread-6,ejb,node) ISPN000094: Received new cluster view for channel ejb
    

    Uwaga

    Domyślnie rozruchowy plik JAR konfiguruje podsystem JGroups do korzystania z protokołu UDP i wysyła komunikaty w celu odnalezienia innych elementów członkowskich klastra na adres multiemisji 230.0.0.4. Aby prawidłowo sprawdzić możliwości klastrowania na komputerze lokalnym, system operacyjny powinien mieć możliwość wysyłania i odbierania multiemisji datagramów oraz kierowania ich do adresu IP 230.0.0.4 za pośrednictwem interfejsu ethernet. Jeśli widzisz ostrzeżenia związane z klastrem w dziennikach serwera, sprawdź konfigurację sieci i sprawdź, czy obsługuje multiemisji na tym adresie.

  4. Otwórz http://localhost:8080/ w przeglądarce, aby odwiedzić stronę główną aplikacji. Jeśli utworzono więcej wystąpień, możesz uzyskać do nich dostęp, przenosząc numer portu, na przykład http://localhost:9080/. Aplikacja powinna wyglądać podobnie do poniższej ilustracji:

    Zrzut ekranu przedstawiający pokaz aplikacji todo EAP.

  5. Sprawdź sondy dostępności i gotowości dla aplikacji. Usługa OpenShift używa tych punktów końcowych do sprawdzania, kiedy zasobnik jest na żywo i jest gotowy do odbierania żądań użytkowników.

    Aby sprawdzić stan aktualności, uruchom polecenie:

    curl http://localhost:9990/health/live
    

    Powinny być widoczne następujące dane wyjściowe:

    {"status":"UP","checks":[{"name":"SuccessfulCheck","status":"UP"}]}
    

    Aby sprawdzić stan gotowości, uruchom polecenie:

    curl http://localhost:9990/health/ready
    

    Powinny być widoczne następujące dane wyjściowe:

     {"status":"UP","checks":[{"name":"deployments-status","status":"UP","data":{"todo-list.war":"OK"}},{"name":"server-state","status":"UP","data":{"value":"running"}},{"name":"boot-errors","status":"UP"},{"name":"DBConnectionHealthCheck","status":"UP"}]}
    
  6. Naciśnij klawisze Control-C , aby zatrzymać aplikację.

Wdrażanie w usłudze OpenShift

Aby wdrożyć aplikację, użyjemy wykresów JBoss EAP Helm dostępnych już w usłudze Azure Red Hat OpenShift. Musimy również podać żądaną konfigurację, na przykład użytkownik bazy danych, hasło bazy danych, wersję sterownika, której chcemy użyć, oraz informacje o połączeniu używane przez źródło danych. W poniższych krokach założono, że usługa Azure SQL jest uruchomiona i dostępna z klastra OpenShift, a nazwa użytkownika bazy danych, hasło, nazwa hosta, port i nazwa bazy danych w obiekcie OpenShift OpenShift Secret o nazwie mssqlserver-secret.

Przejdź do lokalnego repozytorium aplikacji demonstracyjnej i zmień bieżącą gałąź na bootable-jar-openshift:

git checkout bootable-jar-openshift

Przyjrzyjmy się temu, co zmieniliśmy w tej gałęzi:

  • Dodaliśmy nowy profil narzędzia Maven o nazwie bootable-jar-openshift , który przygotowuje rozruchowy plik JAR z określoną konfiguracją do uruchamiania serwera w chmurze. Na przykład umożliwia podsystemowi JGroups używanie żądań TCP do odnajdywania innych zasobników przy użyciu protokołu KUBE_PING.
  • Dodaliśmy zestaw plików konfiguracji w katalogu jboss-on-aro-jakartaee/deployment . W tym katalogu można znaleźć pliki konfiguracji do wdrożenia aplikacji.

Wdrażanie aplikacji w usłudze OpenShift

W następnych krokach wyjaśniono, jak można wdrożyć aplikację przy użyciu wykresu Helm przy użyciu konsoli internetowej OpenShift. Unikaj twardego kodowania poufnych wartości na wykresie Helm przy użyciu funkcji o nazwie "wpisy tajne". Wpis tajny to po prostu kolekcja par name=value, w których wartości są określone w znanym miejscu, zanim będą potrzebne. W naszym przypadku pakiet Helm używa dwóch wpisów tajnych, z następującymi parami name=value z każdej z nich.

  • mssqlserver-secret

    • db-host przekazuje wartość MSSQLSERVER_HOST.
    • db-name przekazuje wartość MSSQLSERVER_DATABASE
    • db-password przekazuje wartość MSSQLSERVER_PASSWORD
    • db-port przekazuje wartość MSSQLSERVER_PORT.
    • db-user przekazuje wartość MSSQLSERVER_USER.
  • todo-list-secret

    • app-cluster-password przekazuje dowolne hasło określone przez użytkownika, aby węzły klastra mogły tworzyć bezpieczniej.
    • app-driver-version przekazuje wartość MSSQLSERVER_DRIVER_VERSION.
    • app-ds-jndi przekazuje wartość MSSQLSERVER_JNDI.
  1. Utwórz plik mssqlserver-secret.

    oc create secret generic mssqlserver-secret \
        --from-literal db-host=${MSSQLSERVER_HOST} \
        --from-literal db-name=${MSSQLSERVER_DATABASE} \
        --from-literal db-password=${MSSQLSERVER_PASSWORD} \
        --from-literal db-port=${MSSQLSERVER_PORT} \
        --from-literal db-user=${MSSQLSERVER_USER}
    
  2. Utwórz plik todo-list-secret.

    export MSSQLSERVER_DRIVER_VERSION=7.4.1.jre11
    oc create secret generic todo-list-secret \
        --from-literal app-cluster-password=mut2UTG6gDwNDcVW \
        --from-literal app-driver-version=${MSSQLSERVER_DRIVER_VERSION} \
        --from-literal app-ds-jndi=${MSSQLSERVER_JNDI}
    
  3. Otwórz konsolę OpenShift i przejdź do widoku dewelopera. Adres URL konsoli klastra OpenShift można odnaleźć, uruchamiając to polecenie. Zaloguj się przy użyciu identyfikatora kubeadmin użytkownika i hasła uzyskanego z poprzedniego kroku.

    az aro show \
        --name $CLUSTER \
        --resource-group $RESOURCEGROUP \
        --query "consoleProfile.url" \
        --output tsv
    

    Wybierz perspektywę </> Developer z menu rozwijanego w górnej części okienka nawigacji.

    Zrzut ekranu przedstawiający widok dewelopera konsoli OpenShift.

  4. <W perspektywie />Developer wybierz projekt eap-demo z menu rozwijanego Projekt.

    Zrzut ekranu przedstawiający pole kombi projektu konsoli OpenShift.

  5. Wybierz pozycję +Dodaj. W sekcji Katalog deweloperów wybierz pozycję Helm Chart. Zostanie wyświetlony wykaz pakietów Helm dostępny w klastrze usługi Azure Red Hat OpenShift. W polu Filtruj według słowa kluczowego wpisz eap. Powinna zostać wyświetlona kilka opcji, jak pokazano poniżej:

    Zrzut ekranu przedstawiający wykresy narzędzia Helm EAP konsoli OpenShift.

    Ponieważ nasza aplikacja korzysta z funkcji MicroProfile, wybieramy wykres Helm dla protokołu EAP Xp. Skrót Xp od Rozszerzenia Pack. Dzięki pakietowi rozszerzeń JBoss Enterprise Application Platform deweloperzy mogą tworzyć i wdrażać aplikacje oparte na mikrousługach za pomocą interfejsów programowania aplikacji (API) środowiska Eclipse MicroProfile.

  6. Wybierz wykres Helm JBoss EAP XP 4 , a następnie wybierz pozycję Zainstaluj pakiet Helm.

Na tym etapie musimy skonfigurować wykres w celu skompilowania i wdrożenia aplikacji:

  1. Zmień nazwę wydania na eap-todo-list-demo.

  2. Możemy skonfigurować pakiet Helm przy użyciu widoku formularza lub widoku YAML. W sekcji z etykietą Konfiguruj za pomocą wybierz pozycję Widok YAML.

  3. Zmień zawartość YAML, aby skonfigurować pakiet Helm Chart, kopiując i wklejając zawartość pliku chart programu Helm dostępnego na stronie deployment/application/todo-list-helm-chart.yaml zamiast istniejącej zawartości:

    Zawartość YAML wykresu narzędzia Helm programu Helm w konsoli OpenShift

    Ta zawartość odwołuje się do ustawionych wcześniej wpisów tajnych.

  4. Na koniec wybierz pozycję Zainstaluj , aby rozpocząć wdrażanie aplikacji. Ta akcja powoduje otwarcie widoku Topologia z graficzną reprezentacją wydania programu Helm (o nazwie eap-todo-list-demo) i skojarzonymi z nimi zasobami.

    Zrzut ekranu przedstawiający topologię konsoli OpenShift.

    Wydanie programu Helm (skrócone hr) nosi nazwę eap-todo-list-demo. Zawiera on zasób wdrożenia (skrócony D) o nazwie eap-todo-list-demo.

    Jeśli wybierzesz ikonę z dwiema strzałkami w okręgu w lewym dolnym rogu pola D , zostaniesz przeniesiony do okienka Dzienniki . W tym miejscu możesz obserwować postęp kompilacji. Aby powrócić do widoku topologii, wybierz pozycję Topologia w okienku nawigacji po lewej stronie.

  5. Po zakończeniu kompilacji w lewym dolnym rogu zostanie wyświetlona zielona ikona

  6. Po zakończeniu wdrażania kontur okręgu jest ciemnoniebieski. Jeśli umieścisz wskaźnik myszy na ciemnoniebieskim, powinien zostać wyświetlony komunikat z informacją podobną do 3 Running. Gdy zobaczysz ten komunikat, możesz przejść do aplikacji adres URL (przy użyciu ikony w prawym górnym rogu) z trasy skojarzonej z wdrożeniem.

    Zrzut ekranu przedstawiający otwartą aplikację konsoli OpenShift.

  7. Aplikacja jest otwierana w przeglądarce, podobnie jak na poniższej ilustracji gotowej do użycia:

    Zrzut ekranu przedstawiający uruchomioną aplikację OpenShift.

  8. Aplikacja wyświetla nazwę zasobnika, który służy do obsługi informacji. Aby zweryfikować możliwości klastrowania, możesz dodać kilka aplikacji Todos. Następnie usuń zasobnik o nazwie wskazanej w polu Nazwa hosta serwera, który pojawia się w aplikacji przy użyciu polecenia oc delete pod <pod-name>, a po jego usunięciu utwórz nową czynność do wykonania w tym samym oknie aplikacji. Możesz zobaczyć, że nowe czynności do wykonania są dodawane za pośrednictwem żądania Ajax, a pole Nazwa hosta serwera teraz wyświetla inną nazwę. W tle moduł równoważenia obciążenia OpenShift wysłał nowe żądanie i dostarczył go do dostępnego zasobnika. Widok Dżakarta Twarze jest przywracany z kopii sesji HTTP przechowywanej w zasobniku, który przetwarza żądanie. W rzeczywistości widać, że pole Identyfikator sesji nie uległo zmianie. Jeśli sesja nie jest replikowana w zasobnikach, otrzymujesz twarze ViewExpiredExceptionDżakarta, a aplikacja nie działa zgodnie z oczekiwaniami.

Czyszczenie zasobów

Usuwanie aplikacji

Jeśli chcesz usunąć tylko aplikację, możesz otworzyć konsolę OpenShift i w widoku dewelopera przejść do opcji menu Helm . W tym menu można wyświetlić wszystkie wersje pakietu Helm Chart zainstalowane w klastrze.

Odinstalowywanie aplikacji OpenShift

Znajdź wykres helm eap-todo-list-demo , a na końcu wiersza wybierz pionowe kropki drzewa, aby otworzyć wpis menu kontekstowego akcji.

Wybierz pozycję Odinstaluj wydanie narzędzia Helm, aby usunąć aplikację. Zwróć uwagę, że obiekt tajny używany do dostarczania konfiguracji aplikacji nie jest częścią wykresu. Musisz usunąć go oddzielnie, jeśli nie jest już potrzebny.

Wykonaj następujące polecenie, jeśli chcesz usunąć wpis tajny, który przechowuje konfigurację aplikacji:

$ oc delete secrets/todo-list-secret
# secret "todo-list-secret" deleted

Usuwanie projektu OpenShift

Możesz również usunąć całą konfigurację utworzoną na potrzeby tego pokazu eap-demo , usuwając projekt. W tym celu wykonaj następujące polecenie:

$ oc delete project eap-demo
# project.project.openshift.io "eap-demo" deleted

Usuwanie klastra Usługi Azure Red Hat OpenShift

Usuń klaster Usługi Azure Red Hat OpenShift, wykonując kroki opisane w artykule Samouczek: usuwanie klastra usługi Azure Red Hat OpenShift 4.

Usuwanie grupy zasobów

Jeśli chcesz usunąć wszystkie zasoby utworzone w poprzednich krokach, usuń grupę zasobów utworzoną dla klastra Usługi Azure Red Hat OpenShift.

Następne kroki

W tym przewodniku przedstawiono sposób wykonywania następujących instrukcji:

  • Przygotuj aplikację JBoss EAP dla platformy OpenShift.
  • Uruchom go lokalnie wraz z konteneryzowanym programem Microsoft SQL Server.
  • Wdróż program Microsoft SQL Server w usłudze Azure Red Hat OpenShift 4 przy użyciu interfejsu wiersza polecenia openShift.
  • Wdróż aplikację w usłudze Azure Red Hat OpenShift 4 przy użyciu pakietów Helm JBoss i konsoli internetowej OpenShift.

Więcej informacji można dowiedzieć się z odwołań używanych w tym przewodniku: