Wdrażanie oprogramowania IBM WebSphere Liberty i Open Liberty w usłudze Azure Red Hat OpenShift

W tym artykule pokazano, jak szybko stanąć w stanie IBM WebSphere Liberty i Open Liberty w usłudze Azure Red Hat OpenShift (ARO) przy użyciu witryny Azure Portal.

W tym artykule użyto oferty witryny Azure Marketplace dla platformy Open/WebSphere Liberty, aby przyspieszyć podróż do usługi ARO. Oferta automatycznie aprowizuje kilka zasobów, w tym klaster ARO z wbudowanym rejestrem Kontenerów OpenShift (OCR), operatorami Wolności i opcjonalnie obrazem kontenera, w tym Liberty i aplikacją. Aby wyświetlić ofertę, odwiedź witrynę Azure Portal. Jeśli wolisz ręczne wskazówki krok po kroku dotyczące uruchamiania środowiska Liberty w usłudze ARO, które nie korzystają z automatyzacji włączonej przez ofertę, zobacz Wdrażanie aplikacji Java przy użyciu biblioteki Open Liberty/WebSphere Liberty w klastrze Usługi Azure Red Hat OpenShift.

Ten artykuł ma pomóc w szybkim rozpoczęciu wdrażania. Przed przejściem do środowiska produkcyjnego należy zapoznać się z tematem Tuning Liberty.

Ważne

Chociaż usługa ARO jest wspólnie zaprojektowana, obsługiwana i obsługiwana przez firmę Red Hat i Microsoft w celu zapewnienia zintegrowanego środowiska pomocy technicznej, oprogramowanie, które jest uruchamiane na platformie ARO, w tym opisane w tym artykule, podlega własnym warunkom pomocy technicznej i postanowień licencyjnych. Aby uzyskać szczegółowe informacje na temat obsługi usługi ARO, zobacz Cykl wsparcia 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.

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 sekcję Request an increase for non-adjustable quotas in Increase VM-family vCPU quotas (Żądanie zwiększenia limitów przydziałów procesorów wirtualnych z rodziną maszyn wirtualnych). Ponieważ rodzaj limitu przydziału, dla którego należy zażądać zwiększenia, jest "nienastawny", musisz złożyć bilet pomocy technicznej. Kroki opisane w temacie Żądanie zwiększenia limitów przydziałów niezwiązanych pokazują dokładnie, jak utworzyć bilet z poprawną zawartością.

Subskrypcja bezpłatnej wersji próbnej nie kwalifikuje się do zwiększenia limitu przydziału. Przed zażądaniem zwiększenia limitu przydziału przeprowadź uaktualnienie do subskrypcji z płatnością zgodnie z rzeczywistym użyciem. Aby uzyskać więcej informacji, zobacz Uaktualnianie bezpłatnego konta platformy Azure lub konta startowego usługi Azure for Students.

Wymagania wstępne

Uwaga

Te wskazówki można również wykonać w usłudze Azure Cloud Shell. To podejście ma wszystkie wstępnie zainstalowane narzędzia wymagań wstępnych, z wyjątkiem platformy Docker.

Uzyskiwanie wpisu tajnego ściągania oprogramowania Red Hat

Oferta witryny Azure Marketplace, której będziesz używać w tym artykule, wymaga wpisu tajnego ściągnięcia oprogramowania Red Hat. W tej sekcji pokazano, jak uzyskać wpis tajny ściągania oprogramowania Red Hat dla usługi Azure Red Hat OpenShift. Aby dowiedzieć się, czym jest wpis tajny ściągnięcia oprogramowania Red Hat i dlaczego jest potrzebny, zobacz sekcję Pobieranie wpisu tajnego ściągnięcia red hat w artykule Samouczek: tworzenie klastra usługi Azure Red Hat OpenShift 4. Aby uzyskać klucz tajny ściągnięcia do użycia, wykonaj kroki opisane w tej sekcji.

Zaloguj się do portalu menedżera klastra OpenShift przy użyciu konta Red Hat OpenShift, odwiedzając konsolę Chmury hybrydowej Red Hat OpenShift. Może być konieczne zaakceptowanie większej liczby warunków i zaktualizowanie konta, jak pokazano na poniższym zrzucie ekranu. Użyj tego samego hasła co podczas tworzenia konta.

Zrzut ekranu witryny Red Hat Update Your Account (Aktualizowanie konta w systemie Red Hat).

Po zalogowaniu wybierz pozycję OpenShift, a następnie pozycję Pobrane. Wybierz listę rozwijaną Wszystkie kategorie, a następnie wybierz pozycję Tokeny. W obszarze Ściąganie wpisu tajnego wybierz pozycję Kopiuj lub Pobierz , aby uzyskać wartość, jak pokazano na poniższym zrzucie ekranu.

Zrzut ekranu przedstawiający portal konsoli oprogramowania Red Hat przedstawiający wpis tajny ściągania.

Poniższa zawartość to przykład skopiowany z portalu konsoli Red Hat z kodami uwierzytelniania zastąpionymi ciągiem xxxx...xxx.

{"auths":{"cloud.openshift.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"quay.io":{"auth":"xxx...xxx","email":"contoso-user@test.com"},"registry.connect.redhat.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"registry.redhat.io":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"}}}

Zapisz wpis tajny w pliku, aby można było go użyć później.

Tworzenie jednostki usługi Microsoft Entra w witrynie Azure Portal

Oferta witryny Azure Marketplace, której będziesz używać w tym artykule, wymaga jednostki usługi Entra firmy Microsoft w celu wdrożenia klastra Usługi Azure Red Hat OpenShift. Oferta przypisuje jednostkę usługi z odpowiednimi uprawnieniami w czasie wdrażania, bez konieczności przypisywania roli. Jeśli masz jednostkę usługi gotową do użycia, pomiń tę sekcję i przejdź do następnej sekcji, w której wdrażasz ofertę.

Wykonaj poniższe kroki, aby wdrożyć jednostkę usługi i uzyskać identyfikator aplikacji (klienta) i wpis tajny z witryny Azure Portal. Aby uzyskać więcej informacji, zobacz Create and use a service principal to deploy an Azure Red Hat OpenShift cluster (Tworzenie i używanie jednostki usługi do wdrażania klastra Usługi Azure Red Hat OpenShift).

Uwaga

Aby zarejestrować aplikację w dzierżawie firmy Microsoft Entra, musisz mieć wystarczające uprawnienia. Jeśli wystąpi problem, sprawdź wymagane uprawnienia, aby upewnić się, że twoje konto może utworzyć tożsamość. Aby uzyskać więcej informacji, zobacz sekcję Uprawnienia wymagane do zarejestrowania aplikacji w temacie Używanie portalu do tworzenia aplikacji i jednostki usługi Firmy Microsoft, która może uzyskiwać dostęp do zasobów.

  1. Zaloguj się do konta platformy Azure za pośrednictwem witryny Azure Portal.

  2. Wybierz Microsoft Entra ID.

  3. Wybierz pozycję Rejestracje aplikacji.

  4. Wybierz opcjęNowa rejestracja.

  5. Nazwij aplikację, na przykład "liberty-on-aro-app". Wybierz obsługiwany typ konta, który określa, kto może korzystać z aplikacji. Po ustawieniu wartości wybierz pozycję Zarejestruj, jak pokazano na poniższym zrzucie ekranu. Aprowizowania aplikacji zajmuje kilka sekund. Przed kontynuowaniem poczekaj na ukończenie wdrożenia.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Rejestrowanie aplikacji.

  6. Zapisz identyfikator aplikacji (klienta) ze strony przeglądu, jak pokazano na poniższym zrzucie ekranu. Umieść wskaźnik na wartości (zredagowany na zrzucie ekranu) i wybierz wyświetloną ikonę kopiowania. Etykietka narzędzia mówi Kopiuj do schowka. Zachowaj ostrożność, aby skopiować poprawną wartość, ponieważ inne wartości w tej sekcji mają również ikony kopiowania. Zapisz identyfikator aplikacji w pliku, aby można było go użyć później.

    Zrzut ekranu witryny Azure Portal przedstawiający identyfikator klienta jednostki usługi.

  7. Utwórz nowy klucz tajny klienta, wykonując następujące kroki:

    1. Wybierz pozycję Certyfikaty i wpisy tajne.
    2. Wybierz pozycję Wpisy tajne klienta, a następnie Pozycję Nowy klucz tajny klienta.
    3. Podaj opis wpisu tajnego i czas trwania. Gdy wszystko będzie gotowe, wybierz pozycję Dodaj.
    4. Po dodaniu wpisu tajnego klienta zostanie wyświetlona wartość klucza tajnego klienta. Skopiuj tę wartość, ponieważ nie można jej pobrać później.

Masz teraz aplikację Firmy Microsoft Entra, jednostkę usługi i klucz tajny klienta.

Wdrażanie oprogramowania IBM WebSphere Liberty lub Open Liberty w usłudze Azure Red Hat OpenShift

Kroki opisane w tej sekcji umożliwiają wdrożenie oprogramowania IBM WebSphere Liberty lub Open Liberty w usłudze Azure Red Hat OpenShift.

W poniższych krokach pokazano, jak znaleźć ofertę i wypełnić okienko Podstawy .

  1. Na pasku wyszukiwania w górnej części witryny Azure Portal wprowadź Liberty. W wynikach wyszukiwania sugerowanych automatycznie w sekcji Marketplace wybierz pozycję IBM Liberty w usłudze ARO, jak pokazano na poniższym zrzucie ekranu.

    Zrzut ekranu witryny Azure Portal przedstawiający ibm WebSphere Liberty i Open Liberty w wynikach wyszukiwania w witrynie Azure Red Hat OpenShift.

    Możesz również przejść bezpośrednio do oferty za pomocą tego linku portalu.

  2. Na stronie oferty wybierz pozycję Utwórz.

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

  4. Oferta musi zostać wdrożona 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 abc1228rg.

  5. Utwórz zmienną środowiskową w powłoce dla nazwy grupy zasobów.

    export RESOURCE_GROUP_NAME=<your-resource-group-name>
    
  6. W obszarze Szczegóły wystąpienia wybierz region wdrożenia. Aby uzyskać listę regionów świadczenia usługi Azure, w których działa usługa OpenShift, zobacz Regiony dla platformy Red Hat OpenShift 4.x na platformie Azure.

  7. Po wybraniu regionu wybierz pozycję Dalej.

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

Zrzut ekranu witryny Azure Portal przedstawiający okienko IBM WebSphere Liberty i Open Liberty w okienku Azure Red Hat OpenShift ARO.

  1. W obszarze Utwórz nowy klaster wybierz pozycję Tak.

  2. W obszarze Podaj informacje, aby utworzyć nowy klaster, w polu Klucz tajny ściągnięcia oprogramowania Red Hat wypełnij wpis tajny ściągania red hat uzyskany w sekcji Pobieranie wpisu tajnego ściągnięcia oprogramowania Red Hat. Użyj tej samej wartości dla opcji Potwierdź wpis tajny.

  3. Wypełnij pole Identyfikator klienta jednostki usługi za pomocą identyfikatora jednostki usługi (klienta) uzyskanego w sekcji Tworzenie jednostki usługi Microsoft Entra w witrynie Azure Portal.

  4. W polu Klucz tajny klienta jednostki usługi wprowadź wpis tajny aplikacji jednostki usługi uzyskany w sekcji Tworzenie jednostki usługi Microsoft Entra w witrynie Azure Portal . Użyj tej samej wartości dla opcji Potwierdź wpis tajny.

  5. Po wypełnieniu wartości wybierz pozycję Dalej.

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

Zrzut ekranu witryny Azure Portal przedstawiający platformę IBM WebSphere Liberty i platformę Open Liberty w okienku operatorów i aplikacji usługi Azure Red Hat OpenShift.

  1. W obszarze Ibm supported? (Obsługiwane przez firmę IBM)? ( Tak).

    Uwaga

    Ten przewodnik Szybki start wdraża obsługiwany przez ibm operator WebSphere Liberty, ale zamiast tego możesz wybrać pozycję Nie , aby wdrożyć operator Open Liberty.

  2. Pozostaw domyślną opcję Nie dla opcji Wdróż aplikację?.

    Uwaga

    W tym przewodniku Szybki start ręcznie wdrożysz przykładową aplikację później, ale możesz wybrać opcję Tak w polu Wdróż aplikację? Jeśli wolisz.

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

  4. Wybierz pozycję Utwórz.

  5. Ś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 40 minut.

Weryfikowanie funkcjonalności wdrożenia

W krokach w tej sekcji pokazano, jak sprawdzić, czy wdrożenie zostało ukończone pomyślnie.

Jeśli nastąpi przejście z dala od strony Wdrożenie jest w toku , poniższe kroki pokazują, jak wrócić do tej strony. Jeśli nadal znajdujesz się na stronie z wyświetlonym komunikatem Wdrożenie zostało ukończone, możesz przejść do kroku 5.

  1. W rogu dowolnej strony portalu wybierz menu hamburgera, a następnie wybierz pozycję Grupy zasobów.

  2. W polu z tekstem Filtr dla dowolnego pola wprowadź kilka pierwszych znaków utworzonej wcześniej grupy zasobów. Jeśli wykonano zalecaną konwencję, wprowadź swoje inicjały, a następnie wybierz odpowiednią grupę zasobów.

  3. W okienku nawigacji w sekcji Ustawienia wybierz pozycję Wdrożenia. Zostanie wyświetlona uporządkowana lista wdrożeń w tej grupie zasobów z najnowszą.

  4. Przewiń do najstarszego wpisu na tej liście. Ten wpis odpowiada wdrożeniu rozpoczętym w poprzedniej sekcji. Wybierz najstarsze wdrożenie, jak pokazano na poniższym zrzucie ekranu.

    Zrzut ekranu witryny Azure Portal przedstawiający wdrożenia IBM WebSphere Liberty i Open Liberty na platformie Azure Red Hat OpenShift z wyróżnionym najstarszym wdrożeniem.

  5. W okienku nawigacji wybierz pozycję Dane wyjściowe. Ta lista zawiera wartości wyjściowe z wdrożenia, które zawierają kilka przydatnych informacji.

  6. Otwórz terminal i wklej wartość z pola cmdToGetKubeadminCredentials . Zobaczysz konto administratora i poświadczenia logowania się do portalu konsoli klastra OpenShift. Poniższa zawartość to przykład konta administratora.

    az aro list-credentials --resource-group abc1228rg --name clusterf9e8b9
    {
      "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx",
      "kubeadminUsername": "kubeadmin"
    }
    
  7. Wklej wartość z pola clusterConsoleUrl do przeglądarki internetowej połączonej z Internetem, a następnie naciśnij klawisz Enter. Wypełnij nazwę użytkownika i hasło administratora i zaloguj się.

  8. Sprawdź, czy jest zainstalowany odpowiedni operator Kubernetes dla platformy Liberty. W okienku nawigacji wybierz pozycję Operatory, a następnie pozycję Zainstalowane operatory, jak pokazano na poniższym zrzucie ekranu:

    Zrzut ekranu przedstawiający portal konsoli klastra Red Hat OpenShift przedstawiający stronę Zainstalowane operatory.

    Pamiętaj, jeśli zainstalowano operatora WebSphere Liberty lub operatora Open Liberty. Wariant operatora jest zgodny z wybranymi elementami w czasie wdrażania. W przypadku wybrania opcji IBM Supported (Obsługiwane przez firmę IBM) masz operator WebSphere Liberty. W przeciwnym razie masz operator Open Liberty. Te informacje są ważne, aby wiedzieć w kolejnych krokach.

  9. Pobierz i zainstaluj interfejs wiersza polecenia platformy OpenShift, wykonując kroki opisane w samouczku Instalowanie interfejsu wiersza polecenia ocplatformy OpenShift, a następnie wróć do tej dokumentacji.

  10. Przejdź do okienka Dane wyjściowe , skopiuj wartość z pola cmdToLoginWithKubeadmin , a następnie wklej ją w terminalu. Uruchom polecenie , aby zalogować się do serwera interfejsu API klastra OpenShift. Powinny zostać wyświetlone dane wyjściowe podobne do poniższego przykładu w konsoli programu :

    Login successful.
    
    You have access to 71 projects, the list has been suppressed. You can list all projects with 'oc projects'
    
    Using project "default".
    

Tworzenie bazy danych SQL platformy Azure

Poniższe kroki zawierają instrukcje tworzenia pojedynczej bazy danych usługi Azure SQL Database do użycia z aplikacją:

  1. Utwórz pojedynczą bazę danych w usłudze Azure SQL Database, wykonując kroki opisane w przewodniku Szybki start: Tworzenie pojedynczej bazy danych Usługi Azure SQL Database, uważnie zwracając uwagę na różnice opisane w poniższej notatce. Wróć do tego artykułu po utworzeniu i skonfigurowaniu serwera bazy danych.

    Uwaga

    W kroku Podstawowe zapisz wartości dla grupy zasobów, nazwy bazy danych, <nazwy> serwera.database.windows.net, identyfikatora logowania administratora serwera i hasła. Grupa zasobów bazy danych jest określana <db-resource-group> w dalszej części tego artykułu.

    W kroku Sieć ustaw metodę Połączenie ivity na publiczny punkt końcowy, Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera na wartość Tak, a następnie dodaj bieżący adres IP klienta na Wartość Tak.

    Zrzut ekranu witryny Azure Portal przedstawiający kartę Sieć na stronie Tworzenie bazy danych SQL z wyróżnioną metodą Połączenie ivity i ustawieniami reguł zapory.

  2. Utwórz zmienną środowiskową w powłoce dla nazwy grupy zasobów bazy danych.

    export DB_RESOURCE_GROUP_NAME=<db-resource-group>
    

Po utworzeniu bazy danych i klastra ARO możesz przygotować usługę ARO do hostowania aplikacji WebSphere Liberty.

Konfigurowanie i wdrażanie przykładowej aplikacji

Wykonaj kroki opisane w tej sekcji, aby wdrożyć przykładową aplikację w środowisku uruchomieniowym Liberty. W tych krokach użyto narzędzia Maven.

Wyewidencjonowywanie aplikacji

Sklonuj przykładowy kod dla tego przewodnika, używając następujących poleceń. Przykład znajduje się w witrynie GitHub.

git clone https://github.com/Azure-Samples/open-liberty-on-aro.git
cd open-liberty-on-aro
export BASE_DIR=$PWD
git checkout 20240223
cd 3-integration/connect-db/mssql

Jeśli zostanie wyświetlony komunikat o stanie "odłączony HEAD", ten komunikat jest bezpieczny do zignorowania. Oznacza to po prostu wyewidencjonowanie tagu.

W repozytorium znajduje się kilka przykładów. Używamy 3-integration/connect-db/mssql/. Oto struktura plików aplikacji:

mssql
├─ src/main/
│  ├─ aro/
│  │  ├─ db-secret.yaml
│  │  ├─ openlibertyapplication.yaml
│  │  ├─ webspherelibertyapplication.yaml
│  ├─ docker/
│  │  ├─ Dockerfile
│  │  ├─ Dockerfile-ol
│  ├─ liberty/config/
│  │  ├─ server.xml
│  ├─ java/
│  ├─ resources/
│  ├─ webapp/
├─ pom.xml

Katalogi java, zasoby i aplikacja internetowa zawierają kod źródłowy przykładowej aplikacji. Kod deklaruje i używa źródła danych o nazwie jdbc/JavaEECafeDB.

W katalogu aro znajdują się trzy pliki wdrożenia. db-secret.xml służy do tworzenia wpisów tajnych kubernetes z poświadczeniami połączenia z bazą danych. Plik webspherelibertyapplication.yaml jest używany w tym przewodniku Szybki start do wdrażania aplikacji WebSphere Liberty. Użyj pliku openlibertyapplication.yaml , aby wdrożyć aplikację Open Liberty, jeśli wdrożono program Open Liberty Operator w sekcji Wdrażanie ibm WebSphere Liberty lub Open Liberty w usłudze Azure Red Hat OpenShift.

W katalogu platformy Docker istnieją dwa pliki do utworzenia obrazu aplikacji za pomocą polecenia Open Liberty lub WebSphere Liberty. Są to odpowiednio pliki Dockerfile i Dockerfile-ol. Plik Dockerfile służy do kompilowania obrazu aplikacji za pomocą rozwiązania WebSphere Liberty w tym przewodniku Szybki start. Podobnie użyj pliku Dockerfile-ol , aby skompilować obraz aplikacji za pomocą biblioteki Open Liberty, jeśli wdrożono program Open Liberty Operator w sekcji Deploy IBM WebSphere Liberty or Open Liberty on Azure Red Hat OpenShift (Wdrażanie oprogramowania IBM WebSphere Liberty lub Open Liberty w usłudze Azure Red Hat OpenShift).

W katalogu liberty/config plik server.xml służy do konfigurowania połączenia bazy danych dla klastra Open Liberty i WebSphere Liberty.

Kompilowanie projektu

Po zebraniu niezbędnych właściwości możesz skompilować aplikację przy użyciu następujących poleceń. Plik POM dla projektu odczytuje wiele zmiennych ze środowiska. W ramach kompilacji narzędzia Maven te zmienne są używane do wypełniania wartości w plikach YAML znajdujących się w pliku src/main/aro. Jeśli wolisz, możesz zrobić coś podobnego dla aplikacji spoza narzędzia Maven.

cd ${BASE_DIR}/3-integration/connect-db/mssql

# The following variables are used for deployment file generation into target.
export DB_SERVER_NAME=<server-name>.database.windows.net
export DB_NAME=<database-name>
export DB_USER=<server-admin-login>@<server-name>
export DB_PASSWORD=<server-admin-password>

mvn clean install

(Opcjonalnie) Testowanie projektu lokalnie

Teraz możesz uruchomić i przetestować projekt lokalnie przed wdrożeniem na platformie Azure, wykonując następujące kroki. Dla wygody użyjemy elementu liberty-maven-plugin. Aby dowiedzieć się więcej na temat programu liberty-maven-plugin, zobacz Tworzenie aplikacji internetowej za pomocą narzędzia Maven. W przypadku aplikacji możesz zrobić coś podobnego przy użyciu dowolnego innego mechanizmu, takiego jak lokalne środowisko IDE. Możesz również rozważyć użycie opcji przeznaczonej liberty:devc do programowania z kontenerami. Więcej liberty:devc informacji można przeczytać w dokumentacji Liberty.

  1. Uruchom aplikację przy użyciu polecenia liberty:run, jak pokazano w poniższym przykładzie. liberty:run Używa również zmiennych środowiskowych zdefiniowanych w poprzedniej sekcji.

    cd ${BASE_DIR}/3-integration/connect-db/mssql
    mvn liberty:run
    
  2. Sprawdź, czy aplikacja działa zgodnie z oczekiwaniami. W przypadku powodzenia powinien zostać wyświetlony komunikat podobny do [INFO] [AUDIT] CWWKZ0003I: The application javaee-cafe updated in 1.930 seconds. w danych wyjściowych polecenia. Przejdź do http://localhost:9080/ przeglądarki lub https://localhost:9443/ w przeglądarce i sprawdź, czy aplikacja jest dostępna, a wszystkie funkcje działają.

  3. Naciśnij klawisze Ctrl+C, aby zatrzymać.

Następnie wykonaj następujące kroki, aby konteneryzować projekt przy użyciu platformy Docker i uruchomić go jako kontener lokalnie przed wdrożeniem na platformie Azure:

  1. Uruchom polecenie , docker build aby skompilować obraz.

    cd ${BASE_DIR}/3-integration/connect-db/mssql/target
    docker buildx build --platform linux/amd64 -t javaee-cafe:v1 --pull --file=Dockerfile .
    
  2. Uruchom obraz przy użyciu następującego polecenia. Pamiętaj, że używamy wcześniej zdefiniowanych zmiennych środowiskowych.

    docker run -it --rm -p 9080:9080 -p 9443:9443 \
        -e DB_SERVER_NAME=${DB_SERVER_NAME} \
        -e DB_NAME=${DB_NAME} \
        -e DB_USER=${DB_USER} \
        -e DB_PASSWORD=${DB_PASSWORD} \
        javaee-cafe:v1
    
  3. Po uruchomieniu kontenera przejdź do http://localhost:9080/https://localhost:9443/ lub w przeglądarce, aby uzyskać dostęp do aplikacji.

  4. Naciśnij klawisze Ctrl+C, aby zatrzymać.

Kompilowanie obrazu i wypychanie do strumienia obrazu

Jeśli stan aplikacji jest zadowalający, należy utworzyć obraz zdalnie w klastrze, wykonując następujące kroki.

  1. Użyj następujących poleceń, aby tożsamości katalogu źródłowego i pliku Dockerfile:

    cd ${BASE_DIR}/3-integration/connect-db/mssql/target
    
    # If you are deploying the application with WebSphere Liberty Operator, the existing Dockerfile is ready for you
    
    # If you are deploying the application with Open Liberty Operator, uncomment and execute the following two commands to rename Dockerfile-ol to Dockerfile
    # mv Dockerfile Dockerfile.backup
    # mv Dockerfile-ol Dockerfile
    
  2. Użyj następującego polecenia, aby utworzyć strumień obrazu:

    oc create imagestream javaee-cafe
    
  3. Użyj następującego polecenia, aby utworzyć konfigurację kompilacji, która określa tag strumienia obrazu danych wyjściowych kompilacji:

    oc new-build --name javaee-cafe-config --binary --strategy docker --to javaee-cafe:v1
    
  4. Użyj następującego polecenia, aby uruchomić kompilację w celu przekazania zawartości lokalnej, konteneryzowania i danych wyjściowych do tagu strumienia obrazu określonego wcześniej:

    oc start-build javaee-cafe-config --from-dir . --follow
    

Wdrażanie i testowanie aplikacji

Aby wdrożyć i przetestować aplikację, wykonaj następujące kroki:

  1. Użyj następującego polecenia, aby zastosować wpis tajny bazy danych:

    cd ${BASE_DIR}/3-integration/connect-db/mssql/target
    oc apply -f db-secret.yaml
    

    Powinny zostać wyświetlone dane wyjściowe secret/db-secret-mssql created.

  2. Użyj następującego polecenia, aby zastosować plik wdrożenia:

    oc apply -f webspherelibertyapplication.yaml
    
  3. Zaczekaj, aż wszystkie zasobniki zostaną uruchomione i uruchomione pomyślnie, używając następującego polecenia:

    oc get pods -l app.kubernetes.io/name=javaee-cafe --watch
    

    Powinny zostać wyświetlone dane wyjściowe podobne do poniższego przykładu, aby wskazać, że wszystkie zasobniki są uruchomione:

    NAME                          READY   STATUS    RESTARTS   AGE
    javaee-cafe-67cdc95bc-2j2gr   1/1     Running   0          29s
    javaee-cafe-67cdc95bc-fgtt8   1/1     Running   0          29s
    javaee-cafe-67cdc95bc-h47qm   1/1     Running   0          29s
    
  4. Aby sprawdzić wyniki, wykonaj następujące czynności:

    1. Użyj następującego polecenia, aby pobrać host zasobu Route wdrożonego z aplikacją:

      echo "route host: https://$(oc get route javaee-cafe --template='{{ .spec.host }}')"
      
    2. Skopiuj wartość z danych wyjściowych route host , a następnie otwórz ją w przeglądarce, aby przetestować aplikację. Jeśli strona internetowa nie jest poprawnie renderowana, oznacza to, że aplikacja nadal zaczyna się w tle. Poczekaj kilka minut, a następnie spróbuj ponownie.

    3. Dodaj i usuń kilka kaw, aby zweryfikować funkcjonalność aplikacji i połączenia bazy danych.

      Zrzut ekranu przedstawiający uruchomioną aplikację.

Czyszczenie zasobów

Aby uniknąć opłat za platformę Azure, należy wyczyścić niepotrzebne zasoby. Gdy klaster nie jest już potrzebny, użyj polecenia az group delete , aby usunąć grupę zasobów, klaster ARO, usługę Azure SQL Database i wszystkie powiązane zasoby.

az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
az group delete --name $DB_RESOURCE_GROUP_NAME --yes --no-wait

Następne kroki

Dowiedz się więcej o wdrażaniu rodziny IBM WebSphere na platformie Azure, korzystając z następujących linków: