Udostępnij za pośrednictwem


Wdrażanie aplikacji Java przy użyciu serwera WebLogic w klastrze usługi Azure Kubernetes Service (AKS)

W tym artykule pokazano, jak:

  • Uruchom aplikację Java na serwerze Oracle WebLogic Server (WLS).
  • Utwórz klaster serwera WebLogic w usłudze AKS przy użyciu oferty witryny Azure Marketplace.
  • Utwórz obraz platformy Docker aplikacji, który zawiera modele webLogic Deploy Tooling (WDT).
  • Wdróż konteneryzowaną aplikację w klastrze serwera WebLogic w usłudze AKS z połączeniem z usługą Microsoft Azure SQL.

W tym artykule użyto oferty witryny Azure Marketplace dla serwera WebLogic, aby przyspieszyć podróż do usługi AKS. Oferta automatycznie aprowizuje kilka zasobów platformy Azure, w tym następujące zasoby:

  • Wystąpienie usługi Azure Container Registry
  • Klaster usługi AKS
  • Wystąpienie kontrolera ruchu przychodzącego bramy aplikacja systemu Azure (AGIC)
  • The WebLogic Kubernetes Operator
  • Obraz kontenera, w tym środowisko uruchomieniowe WebLogic
  • Klaster serwera WebLogic bez aplikacji

Następnie w artykule przedstawiono tworzenie obrazu w celu zaktualizowania klastra serwera WebLogic. Obraz przedstawia modele aplikacji i WDT.

Jeśli wolisz mniej zautomatyzowane podejście do wdrażania oprogramowania WebLogic w usłudze AKS, zapoznaj się ze wskazówkami krok po kroku zawartymi w oficjalnej dokumentacji firmy Oracle dla usługi Azure Kubernetes Service.

Jeśli chcesz przekazać opinię lub ściśle pracować nad scenariuszami migracji z zespołem inżynierów opracowującym oprogramowanie WebLogic w usłudze AKS, wypełnij tę krótką ankietę dotyczącą migracji serwera WebLogic i dołącz 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

  • 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 się i ukończenie tego artykułu ma rolę Właściciel w bieżącej subskrypcji lub rolę Współautor i Administrator dostępu użytkowników 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)? Aby uzyskać szczegółowe informacje na temat określonych ról wymaganych przez usługę WLS w usłudze AKS, zobacz Role wbudowane platformy Azure.
  • Poświadczenia dla konta logowania jednokrotnego (SSO) oracle. Aby je utworzyć, zobacz Tworzenie konta Oracle.
  • Zaakceptuj postanowienia licencyjne dotyczące serwera WebLogic.
    • Odwiedź usługę Oracle Container Registry i zaloguj się.
    • Jeśli masz uprawnienie do pomocy technicznej, wybierz pozycję Oprogramowanie pośredniczące, a następnie wyszukaj i wybierz pozycję weblogic_cpu.
    • Jeśli nie masz uprawnień do pomocy technicznej w programie Oracle, wybierz pozycję Oprogramowanie pośredniczące, a następnie wyszukaj i wybierz pozycję weblogic.
    • Zaakceptuj umowę licencyjną.

    Uwaga

    Uzyskaj uprawnienie do pomocy technicznej od firmy Oracle przed przejściem do środowiska produkcyjnego. Niepowodzenie w tym celu powoduje uruchomienie niezabezpieczonych obrazów, które nie są poprawiane pod kątem krytycznych wad zabezpieczeń. Aby uzyskać więcej informacji na temat aktualizacji poprawek krytycznych firmy Oracle, zobacz Aktualizacje poprawek krytycznych, alerty zabezpieczeń i biuletyny firmy Oracle.

  • Przygotuj maszynę lokalną z zainstalowanym systemem operacyjnym przypominającym system Unix — na przykład Ubuntu, Azure Linux, macOS, Podsystem Windows dla systemu Linux.
    • Interfejs wiersza polecenia platformy Azure. Użyj polecenia az --version , aby sprawdzić, czy polecenie az works. Ten dokument został przetestowany w wersji 2.55.1.
    • kubectl. Użyj polecenia kubectl version , aby sprawdzić, czy narzędzie kubectl działa. Ten dokument został przetestowany z wersją 1.21.2.
    • Zestaw Java Development Kit (JDK). Ten artykuł kieruje Cię do zainstalowania pakietu Microsoft Build of OpenJDK 11. Upewnij się, że JAVA_HOME zmienna środowiskowa jest poprawnie ustawiona w powłokach, w których uruchamiasz polecenia.
    • Maven 3.5.0 lub nowszy.
    • Upewnij się, że masz zainstalowane narzędzie zip/unzip. Użyj polecenia zip/unzip -v , aby sprawdzić, czy zip/unzip działa.

Tworzenie bazy danych SQL platformy Azure

Ta sekcja tworzy bazę danych Azure SQL Database przy użyciu uwierzytelniania firmy Microsoft Entra z włączonym połączeniem tożsamości zarządzanej.

Tworzenie grupy zasobów

Utwórz grupę zasobów za pomocą polecenia az group create. 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. W tym przykładzie eastus zostanie utworzona grupa zasobów o nazwie abc1228rg w lokalizacji:

export RESOURCE_GROUP_NAME="abc1228rg"
az group create \
    --name ${RESOURCE_GROUP_NAME} \
    --location eastus

Tworzenie serwera bazy danych i bazy danych

Utwórz serwer za pomocą polecenia az sql server create . W tym przykładzie tworzony jest serwer o nazwie z myazuresql20130213 użytkownikiem azureuser administratora i hasłem administratora. Zastąp ciąg <your-password> hasłem. Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie pojedynczej bazy danych — Azure SQL Database.

Uwaga

Mimo że używasz tutaj nazwy użytkownika i hasła, te poświadczenia nie są widoczne poza bazą danych. Połączenie między warstwą aplikacji a bazą danych jest zabezpieczone za pomocą tożsamości zarządzanych.

export AZURESQL_SERVER_NAME="myazuresql20130213"
export AZURESQL_ADMIN_USER="azureuser"
export AZURESQL_ADMIN_PASSWORD="<your-password>"
export DATABASE_NAME="mysingledatabase20230213"
az sql server create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $AZURESQL_SERVER_NAME \
    --location westus \
    --admin-user $AZURESQL_ADMIN_USER \
    --admin-password $AZURESQL_ADMIN_PASSWORD

Utwórz bazę danych za pomocą polecenia az sql db create w bezserwerowej warstwie obliczeniowej.

az sql db create \
    --resource-group $RESOURCE_GROUP_NAME \
    --server $AZURESQL_SERVER_NAME \
    --name $DATABASE_NAME \
    --sample-name AdventureWorksLT \
    --edition GeneralPurpose \
    --compute-model Serverless \
    --family Gen5 \
    --capacity 2

Konfigurowanie administratora firmy Microsoft Entra

Aby uzyskać informacje na temat interakcji programu Azure SQL Server z tożsamościami zarządzanymi, zobacz Connect using Microsoft Entra authentication (Nawiązywanie połączenia przy użyciu uwierzytelniania w usłudze Microsoft Entra).

Wykonaj następujące kroki, aby skonfigurować konto administratora usługi Microsoft Entra na serwerze Azure SQL Server w witrynie Azure Portal:

  1. W witrynie Azure Portal otwórz wystąpienie myazuresql20130213programu Azure SQL Server .
  2. Wybierz pozycję Ustawienia, a następnie wybierz pozycję Microsoft Entra ID. Na stronie Microsoft Entra ID wybierz pozycję Ustaw administratora.
  3. Na stronie Dodawanie administratora wyszukaj użytkownika, wybierz użytkownika lub grupę, aby być administratorem, a następnie wybierz pozycję Wybierz.
  4. W górnej części strony Identyfikator entra firmy Microsoft wybierz pozycję Zapisz. W przypadku użytkowników i grup firmy Microsoft identyfikator obiektu jest wyświetlany obok nazwy administratora.
  5. Proces zmiany administratora może potrwać kilka minut. Następnie nowy administrator pojawi się w polu Microsoft Entra ID .

Tworzenie tożsamości zarządzanej przypisanej przez użytkownika

Następnie w interfejsie wiersza polecenia platformy Azure utwórz tożsamość w ramach subskrypcji przy użyciu polecenia az identity create . Ta tożsamość zarządzana służy do nawiązywania połączenia z bazą danych.

az identity create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myManagedIdentity

Tworzenie użytkownika bazy danych dla tożsamości zarządzanej

Teraz połącz się jako użytkownik administratora firmy Microsoft Entra z bazą danych Azure SQL Database w witrynie Azure Portal i utwórz użytkownika dla swojej tożsamości zarządzanej.

Najpierw utwórz regułę zapory, aby uzyskać dostęp do serwera Azure SQL Server z poziomu portalu, jak pokazano w poniższych krokach:

  1. W witrynie Azure Portal otwórz wystąpienie myazuresql20130213programu Azure SQL Server .
  2. Wybierz pozycję Zabezpieczenia, a następnie wybierz pozycję Sieć.
  3. W obszarze Reguły zapory wybierz pozycję Dodaj adres IP klienta IPV4.
  4. W obszarze Wyjątki wybierz pozycję Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera.
  5. Wybierz pozycję Zapisz.

Po utworzeniu reguły zapory możesz uzyskać dostęp do serwera Azure SQL z poziomu portalu. Aby utworzyć użytkownika bazy danych, wykonaj następujące czynności:

  1. Wybierz pozycję Ustawienia, a następnie wybierz pozycję Bazy danych SQL. Wybierz opcję mysingledatabase20230213.

  2. Wybierz pozycję Edytor zapytań. Na stronie Witamy w usłudze SQL Database Edytor Power Query w obszarze uwierzytelnianie usługi Active Directory znajdź komunikat podobny Logged in as user@contoso.comdo .

  3. Wybierz pozycję Kontynuuj jako user@contoso.com, gdzie user to nazwa konta administratora usługi AD.

  4. Po zalogowaniu w edytorze Query 1 uruchom następujące polecenia, aby utworzyć użytkownika bazy danych dla tożsamości myManagedIdentityzarządzanej.

    CREATE USER "myManagedIdentity" FROM EXTERNAL PROVIDER
    ALTER ROLE db_datareader ADD MEMBER "myManagedIdentity";
    ALTER ROLE db_datawriter ADD MEMBER "myManagedIdentity";
    ALTER ROLE db_ddladmin ADD MEMBER "myManagedIdentity";
    GO
    
  5. W edytorze Query 1 wybierz pozycję Uruchom , aby uruchomić polecenia SQL.

  6. Jeśli polecenia zakończą się pomyślnie, możesz znaleźć komunikat z informacją Query succeeded: Affected rows: 0.

Użyj następującego polecenia, aby uzyskać parametry połączenia, które są używane w następnej sekcji:

export CONNECTION_STRING="jdbc:sqlserver://${AZURESQL_SERVER_NAME}.database.windows.net:1433;database=${DATABASE_NAME};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"
echo ${CONNECTION_STRING}

Tworzenie schematu dla przykładowej aplikacji

Wybierz pozycję Nowe zapytanie , a następnie w edytorze zapytań uruchom następujące zapytanie:

CREATE TABLE COFFEE (ID NUMERIC(19) NOT NULL, NAME VARCHAR(255) NULL, PRICE FLOAT(32) NULL, PRIMARY KEY (ID));
CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT NUMERIC(28) NULL, PRIMARY KEY (SEQ_NAME));
INSERT INTO SEQUENCE VALUES ('SEQ_GEN',0);

Po pomyślnym uruchomieniu powinien zostać wyświetlony komunikat Zapytanie powiodło się: wiersze, których dotyczy problem: 1. Jeśli ten komunikat nie jest widoczny, przed kontynuowaniem rozwiąż problem i rozwiąż go.

Możesz kontynuować wdrażanie zabezpieczeń WLS w ofercie usługi AKS.

Wdrażanie serwera WebLogic w usłudze AKS

Wykonaj następujące kroki, aby znaleźć ofertę Serwera WebLogic w usłudze AKS i wypełnić okienko Podstawowe :

  1. Na pasku wyszukiwania w górnej części witryny Azure Portal wprowadź ciąg weblogic. W wynikach wyszukiwania automatycznego sugerowania w sekcji Marketplace wybierz pozycję Serwer WebLogic w usłudze AKS.

    Zrzut ekranu witryny Azure Portal przedstawiający serwer WebLogic w wynikach wyszukiwania.

    Możesz również przejść bezpośrednio do serwera WebLogic w ofercie usługi AKS .

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

  3. W okienku Podstawowe upewnij się, że wartość wyświetlana w polu Subskrypcja jest taka sama, do której zalogowano się na platformie Azure. Upewnij się, że masz role wymienione w sekcji wymagań wstępnych dla subskrypcji.

    Zrzut ekranu witryny Azure Portal przedstawiający serwer WebLogic w usłudze AKS.

  4. Należy wdrożyć ofertę w pustej grupie zasobów. W polu Grupa zasobów wybierz pozycję Utwórz nową, a następnie 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 ejb0723wls.

  5. W obszarze Szczegóły wystąpienia wybierz region wdrożenia. Aby uzyskać listę regionów świadczenia usługi Azure, w których usługa AKS jest dostępna, zobacz Dostępność regionów usługi AKS.

  6. W obszarze Credentials for WebLogic (Poświadczenia dla serwera WebLogic) pozostaw wartość domyślną pola Username for WebLogic Administrator (Nazwa użytkownika dla administratora serwera WebLogic).

  7. wlsAksCluster2022 Wprowadź hasło dla administratora WebLogic. Użyj tej samej wartości dla pól potwierdzenia i hasła dla pól szyfrowania modelu WebLogic.

  8. Wybierz Dalej.

Wykonaj następujące kroki, aby rozpocząć proces wdrażania:

  1. Przewiń do sekcji z etykietą Provide an Oracle Single Sign-On (SSO) account (Zapewnianie konta logowania jednokrotnego Oracle). Wypełnij poświadczenia logowania jednokrotnego Oracle z warunków wstępnych.

    Zrzut ekranu witryny Azure Portal przedstawiający skonfigurowane okienko logowania jednokrotnego.

  2. Pamiętaj, aby pamiętać o krokach w polu informacyjnym rozpoczynającym się od pozycji Przed przejściem do przodu, musisz zaakceptować standardowe warunki i ograniczenia oracle.

  3. W zależności od tego, czy konto logowania jednokrotnego Oracle ma uprawnienie do obsługi oracle, wybierz odpowiednią opcję dla pozycji Wybierz typ obrazów serwera WebLogic. Jeśli konto ma uprawnienie do pomocy technicznej, wybierz pozycję Patched WebLogic Server Images (Poprawione obrazy serwera WebLogic). W przeciwnym razie wybierz pozycję Ogólne obrazy serwera WebLogic.

  4. Pozostaw wartość w polu Wybierz żądaną kombinację serwera WebLogic... w wartości domyślnej. Masz szeroką gamę opcji dla serwerów WebLogic, zestawów JDK i wersji systemu operacyjnego.

  5. W sekcji Aplikacja obok pozycji Wdróż aplikację? wybierz pozycję Nie.

Poniższe kroki sprawiają, że konsola administracyjna serwera WebLogic i przykładowa aplikacja są udostępniane publicznemu Internetowi z wbudowanym dodatkiem ruchu przychodzącego usługi Application Gateway. Aby uzyskać więcej informacji, zobacz Co to jest kontroler ruchu przychodzącego usługi Application Gateway?

  1. Wybierz pozycję Dalej , aby wyświetlić okienko TLS/SSL .

  2. Wybierz pozycję Dalej , aby wyświetlić okienko Równoważenie obciążenia.

  3. Obok pozycji Opcje równoważenia obciążenia wybierz pozycję Kontroler ruchu przychodzącego usługi Application Gateway.

    Zrzut ekranu witryny Azure Portal przedstawiający najprostszą możliwą konfigurację modułu równoważenia obciążenia na stronie Tworzenie serwera Oracle WebLogic w usłudze Azure Kubernetes Service.

  4. W obszarze Kontroler ruchu przychodzącego usługi Application Gateway powinny zostać wyświetlone wszystkie pola wstępnie wypełnione wartościami domyślnymi dla sieci wirtualnej i podsieci. Pozostaw wartości domyślne.

  5. W obszarze Tworzenie ruchu przychodzącego dla konsoli administracyjnej wybierz pozycję Tak.

    Zrzut ekranu witryny Azure Portal przedstawiający konfigurację kontrolera ruchu przychodzącego usługi Application Gateway na stronie Tworzenie serwera Oracle WebLogic w usłudze Azure Kubernetes Service.

  6. Wybierz pozycję Dalej , aby wyświetlić okienko DNS .

  7. Wybierz pozycję Dalej , aby wyświetlić okienko Baza danych .

Wykonaj następujące kroki, aby skonfigurować połączenie z bazą danych przy użyciu tożsamości zarządzanej:

  1. W obszarze Połącz z bazą danych? wybierz pozycję Tak.
  2. W obszarze Ustawienia połączenia w obszarze Wybierz typ bazy danych otwórz menu rozwijane, a następnie wybierz pozycję Microsoft SQL Server (z obsługą połączenia bez hasła).
  3. W polu Nazwa JNDI wprowadź wartość jdbc/WebLogicCafeDB.
  4. W przypadku parametrów połączenia źródła danych wprowadź parametry połączenia uzyskane w ostatniej sekcji.
  5. Wybierz pozycję Użyj połączenia źródła danych bez hasła.
  6. W polu Tożsamość zarządzana przypisana przez użytkownika wybierz tożsamość zarządzaną utworzoną w poprzednim kroku. W tym przykładzie jego nazwa to myManagedIdentity.
  7. Wybierz Dodaj.

Sekcja Ustawienia połączenia powinna wyglądać podobnie jak na poniższym zrzucie ekranu:

Zrzut ekranu witryny Azure Portal przedstawiający kartę Baza danych na stronie Create Oracle WebLogic Server on Azure Kubernetes Service (Tworzenie serwera Oracle WebLogic w usłudze Azure Kubernetes Service).

Aby ukończyć wdrażanie, wykonaj następujące czynności:

  1. Wybierz pozycję Przejrzyj i utwórz. Upewnij się, że walidacja nie zakończy się niepowodzeniem. Jeśli zakończy się to niepowodzeniem, rozwiąż wszelkie problemy z walidacją, a następnie ponownie wybierz pozycję Przejrzyj i utwórz .
  2. Wybierz pozycję Utwórz.
  3. Ś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 50 minut.

Uwaga

Jeśli Twoja organizacja wymaga wdrożenia obciążenia w firmowej sieci wirtualnej bez dozwolonych publicznych adresów IP, możesz wybrać wewnętrzną usługę Load Balancer. Aby skonfigurować wewnętrzną usługę Load Balancer, wykonaj następujące kroki na karcie Równoważenie obciążenia:

  1. W obszarze Opcje równoważenia obciążenia wybierz pozycję usługa usługa Load Balancer w warstwie Standardowa.

  2. Wybierz pozycję Użyj wewnętrznego modułu równoważenia obciążenia.

  3. Dodaj w odpowiednich wierszach do tabeli:

    Prefiks nazwy usługi Obiekt docelowy Port
    wls-admin-internal admin-server 7001
    wls-cluster-internal cluster-1 8001

Karta Równoważenie obciążenia powinna wyglądać podobnie jak na poniższym zrzucie ekranu:

Zrzut ekranu witryny Azure Portal przedstawiający kartę Równoważenie obciążenia na stronie Tworzenie serwera Oracle WebLogic na platformie Azure Kubernetes Service.

Po wdrożeniu można znaleźć adresy URL dostępu serwera administracyjnego i klastra z danych wyjściowych z etykietą adminConsoleExternalUrl i clusterExternalUrl.

Sprawdzanie danych wyjściowych wdrożenia

Wykonaj kroki opisane w tej sekcji, aby sprawdzić, czy wdrożenie zakończyło się 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 po następnym zrzucie ekranu.

  1. W rogu dowolnej strony witryny Azure Portal wybierz menu typu hamburger i 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 listę wdrożeń grup zasobów.

  5. W okienku nawigacji wybierz pozycję Dane wyjściowe. Ta lista zawiera wartości wyjściowe z wdrożenia. Przydatne informacje są zawarte w danych wyjściowych.

  6. Wartość adminConsoleExternalUrl to w pełni kwalifikowany publiczny link widoczny w Internecie do konsoli administracyjnej serwera WebLogic dla tego klastra usługi AKS. Wybierz ikonę kopiowania obok wartości pola, aby skopiować link do schowka. Zapisz tę wartość na bok później.

  7. Wartość clusterExternalUrl to w pełni kwalifikowany, publiczny link widoczny w Internecie do przykładowej aplikacji wdrożonej na serwerze WebLogic w tym klastrze usługi AKS. Wybierz ikonę kopiowania obok wartości pola, aby skopiować link do schowka. Zapisz tę wartość na bok później.

  8. Wartość shellCmdtoOutputWlsImageModelYaml to ciąg base64 modelu WDT używany do kompilowania obrazu kontenera. Zapisz tę wartość na bok później.

  9. Wartość shellCmdtoOutputWlsImageProperties jest ciągiem base64 właściwości modelu WDT używanym do kompilowania obrazu kontenera. Zapisz tę wartość na bok później.

  10. Wartość shellCmdtoConnectAks to polecenie interfejsu wiersza polecenia platformy Azure służące do łączenia się z tym konkretnym klastrem usługi AKS.

Inne wartości w danych wyjściowych wykraczają poza zakres tego artykułu, ale zostały szczegółowo wyjaśnione w podręczniku użytkownika aplikacji WebLogic w usłudze AKS.

Konfigurowanie i wdrażanie przykładowej aplikacji

Oferta aprowizuje klaster serwera WebLogic za pomocą modelu na obrazie. Obecnie klaster serwera WebLogic nie ma wdrożonej aplikacji.

Ta sekcja aktualizuje klaster serwera WebLogic, wdrażając przykładową aplikację przy użyciu obrazu pomocniczego.

Wyewidencjonowywanie aplikacji

W tej sekcji sklonujesz przykładowy kod dla tego przewodnika. Przykład znajduje się w witrynie GitHub w repozytorium weblogic-on-azure w folderze javaee/weblogic-café/ . Oto struktura plików aplikacji.

weblogic-cafe
├── pom.xml
└── src
    └── main
        ├── java
        │   └── cafe
        │       ├── model
        │       │   ├── CafeRepository.java
        │       │   └── entity
        │       │       └── Coffee.java
        │       └── web
        │           ├── rest
        │           │   └── CafeResource.java
        │           └── view
        │               └── Cafe.java
        ├── resources
        │   ├── META-INF
        │   │   └── persistence.xml
        │   └── cafe
        │       └── web
        │           ├── messages.properties
        │           └── messages_es.properties
        └── webapp
            ├── WEB-INF
            │   ├── beans.xml
            │   ├── faces-config.xml
            │   └── web.xml
            ├── index.xhtml
            └── resources
                └── components
                    └── inputPrice.xhtml

Użyj następujących poleceń, aby sklonować repozytorium:

# cd <parent-directory-to-check-out-sample-code>
export BASE_DIR=$PWD

git clone --single-branch https://github.com/microsoft/weblogic-on-azure.git --branch 20240201 $BASE_DIR/weblogic-on-azure

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

Użyj następującego polecenia, aby skompilować plik javaee/weblogic-café/:

mvn clean package --file $BASE_DIR/weblogic-on-azure/javaee/weblogic-cafe/pom.xml

Pakiet powinien zostać pomyślnie wygenerowany i zlokalizowany w lokalizacji $BASE_DIR/weblogic-on-azure/javaee/weblogic-café/target/weblogic-café.war. Jeśli nie widzisz pakietu, przed kontynuowaniem musisz rozwiązać problem i rozwiązać ten problem.

Tworzenie obrazu pomocniczego za pomocą usługi Azure Container Registry

W krokach w tej sekcji pokazano, jak utworzyć obraz pomocniczy. Ten obraz zawiera następujące składniki:

  • Model w plikach modelu obrazów
  • Twoja aplikacja
  • Plik archiwum sterownika JDBC (Java Database Connectivity)
  • Instalacja narzędzi WebLogic Deploy

Obraz pomocniczy to obraz kontenera platformy Docker zawierający aplikację i konfigurację. Operator Kubernetes WebLogic łączy obraz pomocniczy z domain.spec.image klastrem AKS zawierającym serwer WebLogic, zestaw JDK i system operacyjny. Aby uzyskać więcej informacji na temat obrazów pomocniczych, zobacz Obrazy pomocnicze w dokumentacji oracle.

Ta sekcja wymaga terminalu systemu Linux z zainstalowanym interfejsem wiersza polecenia platformy Azure i rozwiązaniem kubectl.

Aby skompilować obraz, wykonaj następujące czynności:

  1. Użyj następujących poleceń, aby utworzyć katalog do przygotowania modeli i aplikacji:

    mkdir -p ${BASE_DIR}/mystaging/models
    cd ${BASE_DIR}/mystaging/models
    
  2. Skopiuj wartość shellCmdtoOutputWlsImageModelYaml zapisaną z danych wyjściowych wdrożenia, wklej ją w oknie powłoki Bash i uruchom polecenie. Polecenie powinno wyglądać podobnie do następującego przykładu:

    echo -e IyBDb3B5cmlna...Cgo= | base64 -d > model.yaml
    

    To polecenie tworzy plik ${BASE_DIR}/mystaging/models/model.yaml z zawartością podobną do następującego przykładu:

    # Copyright (c) 2020, 2021, Oracle and/or its affiliates.
    # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
    
    # Based on ./kubernetes/samples/scripts/create-weblogic-domain/model-in-image/model-images/model-in-image__WLS-v1/model.10.yaml
    # in https://github.com/oracle/weblogic-kubernetes-operator.
    
    domainInfo:
      AdminUserName: "@@SECRET:__weblogic-credentials__:username@@"
      AdminPassword: "@@SECRET:__weblogic-credentials__:password@@"
      ServerStartMode: "prod"
    
    topology:
      Name: "@@ENV:CUSTOM_DOMAIN_NAME@@"
      ProductionModeEnabled: true
      AdminServerName: "admin-server"
      Cluster:
        "cluster-1":
          DynamicServers:
            ServerTemplate: "cluster-1-template"
            ServerNamePrefix: "@@ENV:MANAGED_SERVER_PREFIX@@"
            DynamicClusterSize: "@@PROP:CLUSTER_SIZE@@"
            MaxDynamicClusterSize: "@@PROP:CLUSTER_SIZE@@"
            MinDynamicClusterSize: "0"
            CalculatedListenPorts: false
      Server:
        "admin-server":
          ListenPort: 7001
      ServerTemplate:
        "cluster-1-template":
          Cluster: "cluster-1"
          ListenPort: 8001
      SecurityConfiguration:
        NodeManagerUsername: "@@SECRET:__weblogic-credentials__:username@@"
        NodeManagerPasswordEncrypted: "@@SECRET:__weblogic-credentials__:password@@"
    
    resources:
      SelfTuning:
        MinThreadsConstraint:
          SampleMinThreads:
            Target: "cluster-1"
            Count: 1
        MaxThreadsConstraint:
          SampleMaxThreads:
            Target: "cluster-1"
            Count: 10
        WorkManager:
          SampleWM:
            Target: "cluster-1"
            MinThreadsConstraint: "SampleMinThreads"
            MaxThreadsConstraint: "SampleMaxThreads"
    
  3. W podobny sposób skopiuj wartość shellCmdtoOutputWlsImageProperties , wklej ją w oknie powłoki Bash i uruchom polecenie . Polecenie powinno wyglądać podobnie do następującego przykładu:

    echo -e IyBDb3B5cml...pFPTUK | base64 -d > model.properties
    

    To polecenie tworzy plik ${BASE_DIR}/mystaging/models/model.properties z zawartością podobną do następującego przykładu:

    # Copyright (c) 2021, Oracle Corporation and/or its affiliates.
    # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
    
    # Based on ./kubernetes/samples/scripts/create-weblogic-domain/model-in-image/model-images/model-in-image__WLS-v1/model.10.properties
    # in https://github.com/oracle/weblogic-kubernetes-operator.
    
    CLUSTER_SIZE=5
    
  4. Aby utworzyć plik modelu aplikacji, wykonaj następujące kroki.

    1. Użyj następujących poleceń, aby skopiować plik weblogic-café.war i zapisać go wlsdeploy /applications:

      mkdir -p ${BASE_DIR}/mystaging/models/wlsdeploy/applications
      cp $BASE_DIR/weblogic-on-azure/javaee/weblogic-cafe/target/weblogic-cafe.war ${BASE_DIR}/mystaging/models/wlsdeploy/applications/weblogic-cafe.war
      
    2. Użyj następujących poleceń, aby utworzyć plik modelu aplikacji z wyświetloną zawartością. Zapisz plik modelu w lokalizacji ${BASE_DIR}/mystaging/models/appmodel.yaml.

      cat <<EOF >appmodel.yaml
      appDeployments:
        Application:
          weblogic-cafe:
            SourcePath: 'wlsdeploy/applications/weblogic-cafe.war'
            ModuleType: ear
            Target: 'cluster-1'
      EOF
      
  5. Wykonaj poniższe kroki, aby skonfigurować połączenie ze źródłem danych.

    1. Wykonaj poniższe kroki, aby pobrać i zainstalować sterownik JDBC programu Microsoft SQL Server i rozszerzenie tożsamości platformy Azure, które umożliwia nawiązywanie połączeń z bazą danych przy użyciu tożsamości zarządzanej platformy Azure.

      1. Użyj następujących poleceń, aby pobrać i zainstalować sterownik JDBC programu Microsoft SQL Server do programu wlsdeploy/externalJDBCLibraries:

        export DRIVER_VERSION="10.2.1.jre8"
        export MSSQL_DRIVER_URL="https://repo.maven.apache.org/maven2/com/microsoft/sqlserver/mssql-jdbc/${DRIVER_VERSION}/mssql-jdbc-${DRIVER_VERSION}.jar"
        
        mkdir ${BASE_DIR}/mystaging/models/wlsdeploy/externalJDBCLibraries
        curl -m 120 -fL ${MSSQL_DRIVER_URL} -o ${BASE_DIR}/mystaging/models/wlsdeploy/externalJDBCLibraries/mssql-jdbc-${DRIVER_VERSION}.jar
        
      2. Użyj następujących poleceń, aby zainstalować rozszerzenie tożsamości platformy Azure w programie wlsdeploy/classpathLibraries:

        curl -LO https://github.com/oracle/weblogic-azure/raw/refs/heads/main/weblogic-azure-aks/src/main/resources/azure-identity-extensions.xml
        
        mvn dependency:copy-dependencies -f azure-identity-extensions.xml
        
        mkdir -p ${BASE_DIR}/mystaging/models/wlsdeploy/classpathLibraries/azureLibraries
        mkdir ${BASE_DIR}/mystaging/models/wlsdeploy/classpathLibraries/jackson
        # fix JARs conflict issue in GA images, put jackson libraries to PRE_CLASSPATH to upgrade the existing libs.
        mv target/dependency/jackson-annotations-*.jar ${BASE_DIR}/mystaging/models/wlsdeploy/classpathLibraries/jackson/
        mv target/dependency/jackson-core-*.jar ${BASE_DIR}/mystaging/models/wlsdeploy/classpathLibraries/jackson/
        mv target/dependency/jackson-databind-*.jar ${BASE_DIR}/mystaging/models/wlsdeploy/classpathLibraries/jackson/
        mv target/dependency/jackson-dataformat-xml-*.jar ${BASE_DIR}/mystaging/models/wlsdeploy/classpathLibraries/jackson/
        # Thoes jars will be appended to CLASSPATH
        mv target/dependency/*.jar ${BASE_DIR}/mystaging/models/wlsdeploy/classpathLibraries/azureLibraries/
        
      3. Aby wyczyścić zasoby, użyj następujących poleceń:

        rm target -f -r
        rm azure-identity-extensions.xml
        
    2. Połącz się z klastrem usługi AKS, kopiując wartość shellCmdtoConnectAks zapisaną wcześniej, wklejając ją w oknie powłoki Bash, a następnie uruchamiając polecenie. Polecenie powinno wyglądać podobnie do następującego przykładu:

      az account set --subscription <subscription>;
      az aks get-credentials \
          --resource-group <resource-group> \
          --name <name>
      

      Powinny zostać wyświetlone dane wyjściowe podobne do poniższego przykładu. Jeśli te dane wyjściowe nie są widoczne, przed kontynuowaniem rozwiąż problem i rozwiąż go.

      Merged "<name>" as current context in /Users/<username>/.kube/config
      
    3. Wyeksportuj model połączenia bazy danych i zapisz go w lokalizacji ${BASE_DIR}/mystaging/models/dbmodel.yaml. W poniższych krokach wyodrębnisz model konfiguracji bazy danych z obiektu ConfigMap sample-domain1-wdt-config-map. Nazwa jest zgodna z formatem <domain-uid>-wdt-config-map, gdzie <domain-uid> jest ustawiana podczas wdrażania oferty. Jeśli zmodyfikowano wartość domyślną, zastąp ją własnym identyfikatorem UID domeny.

      1. Kluczem danych jest <db-secret-name.yaml>. Użyj następującego polecenia, aby pobrać nazwę wpisu tajnego bazy danych:

        export WLS_DOMAIN_UID=sample-domain1
        export WLS_DOMAIN_NS=${WLS_DOMAIN_UID}-ns
        export DB_K8S_SECRET_NAME=$(kubectl get secret -n ${WLS_DOMAIN_NS} | grep "ds-secret" | awk '{print $1}')
        
      2. Następnie wyodrębnij model bazy danych za pomocą tego polecenia:

        kubectl get configmap sample-domain1-wdt-config-map -n ${WLS_DOMAIN_NS} -o=jsonpath="{['data']['${DB_K8S_SECRET_NAME}\.yaml']}" >${BASE_DIR}/mystaging/models/dbmodel.yaml
        
      3. Na koniec użyj następującego polecenia, aby zweryfikować zawartość pliku dbmodel.yaml.

        cat ${BASE_DIR}/mystaging/models/dbmodel.yaml
        

        Dane wyjściowe tego polecenia powinny przypominać następującą strukturę:

        # Copyright (c) 2020, 2021, Oracle and/or its affiliates.
        # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
        
        resources:
          JDBCSystemResource:
            jdbc/WebLogicCafeDB:
              Target: 'cluster-1'
              JdbcResource:
              JDBCDataSourceParams:
                 JNDIName: [
                    jdbc/WebLogicCafeDB
                 ]
                 GlobalTransactionsProtocol: OnePhaseCommit
              JDBCDriverParams:
                 DriverName: com.microsoft.sqlserver.jdbc.SQLServerDriver
                 URL: '@@SECRET:ds-secret-sqlserver-1727147748:url@@'
                 PasswordEncrypted: '@@SECRET:ds-secret-sqlserver-1727147748:password@@'
                 Properties:
                    user:
                    Value: '@@SECRET:ds-secret-sqlserver-1727147748:user@@'
              JDBCConnectionPoolParams:
                    TestTableName: SQL SELECT 1
                    TestConnectionsOnReserve: true
        
  6. Użyj następujących poleceń, aby utworzyć plik archiwum, a następnie usunąć folder wlsdeploy , którego nie potrzebujesz już:

    cd ${BASE_DIR}/mystaging/models
    zip -r archive.zip wlsdeploy
    
    rm -f -r wlsdeploy
    
  7. Użyj następujących poleceń, aby pobrać i zainstalować narzędzie WebLogic Deploy Tooling (WDT) w katalogu przejściowym i usunąć jego pliki weblogic-deploy/bin/*.cmd , które nie są używane w środowiskach systemu UNIX:

    cd ${BASE_DIR}/mystaging
    curl -m 120 -fL https://github.com/oracle/weblogic-deploy-tooling/releases/latest/download/weblogic-deploy.zip -o weblogic-deploy.zip
    
    unzip weblogic-deploy.zip -d .
    rm ./weblogic-deploy/bin/*.cmd
    
  8. Użyj następującego polecenia, aby wyczyścić instalatora WDT:

    rm weblogic-deploy.zip
    
  9. Użyj następujących poleceń, aby utworzyć plik platformy Docker:

    cd ${BASE_DIR}/mystaging
    cat <<EOF >Dockerfile
    FROM busybox
    ARG AUXILIARY_IMAGE_PATH=/auxiliary
    ARG USER=oracle
    ARG USERID=1000
    ARG GROUP=root
    ENV AUXILIARY_IMAGE_PATH=\${AUXILIARY_IMAGE_PATH}
    RUN adduser -D -u \${USERID} -G \$GROUP \$USER
    COPY --chown=\$USER:\$GROUP ./ \${AUXILIARY_IMAGE_PATH}/
    USER \$USER
    EOF
    
  10. az acr build Uruchom polecenie przy użyciu polecenia ${BASE_DIR}/mystaging/Dockerfile, jak pokazano w poniższym przykładzie:

    export ACR_NAME=<value-from-clipboard>
    export IMAGE="wlsaks-auxiliary-image:1.0"
    
  11. Użyj następujących poleceń, aby dokładnie sprawdzić pliki przejściowe:

    cd ${BASE_DIR}/mystaging
    find -maxdepth 2 -type f -print
    

    Te polecenia generują dane wyjściowe podobne do następującego przykładu:

    ./models/model.properties
    ./models/model.yaml
    ./models/appmodel.yaml
    ./models/dbmodel.yaml
    ./models/archive.zip
    ./Dockerfile
    ./weblogic-deploy/VERSION.txt
    ./weblogic-deploy/LICENSE.txt
    
  12. Skompiluj obraz za pomocą az acr buildpolecenia , jak pokazano w poniższym przykładzie:

    az acr build -t ${IMAGE} --build-arg AUXILIARY_IMAGE_PATH=/auxiliary -r ${ACR_NAME} --platform linux/amd64 .
    

    Po pomyślnym skompilowania obrazu dane wyjściowe wyglądają podobnie do następującego przykładu:

    ...
    Step 1/9 : FROM busybox
    latest: Pulling from library/busybox
    Digest: sha256:9ae97d36d26566ff84e8893c64a6dc4fe8ca6d1144bf5b87b2b85a32def253c7
    Status: Image is up to date for busybox:latest
    ---> 65ad0d468eb1
    Step 2/9 : ARG AUXILIARY_IMAGE_PATH=/auxiliary
    ---> Running in 1f8f4e82ccb6
    Removing intermediate container 1f8f4e82ccb6
    ---> 947fde618be9
    Step 3/9 : ARG USER=oracle
    ---> Running in dda021591e41
    Removing intermediate container dda021591e41
    ---> f43d84be4517
    Step 4/9 : ARG USERID=1000
    ---> Running in cac4df6dfd13
    Removing intermediate container cac4df6dfd13
    ---> e5513f426c74
    Step 5/9 : ARG GROUP=root
    ---> Running in 8fec1763270c
    Removing intermediate container 8fec1763270c
    ---> 9ef233dbe279
    Step 6/9 : ENV AUXILIARY_IMAGE_PATH=${AUXILIARY_IMAGE_PATH}
    ---> Running in b7754f58157a
    Removing intermediate container b7754f58157a
    ---> 4a26a97eb572
    Step 7/9 : RUN adduser -D -u ${USERID} -G $GROUP $USER
    ---> Running in b6c1f1a81af1
    Removing intermediate container b6c1f1a81af1
    ---> 97d3e5ad7540
    Step 8/9 : COPY --chown=$USER:$GROUP ./ ${AUXILIARY_IMAGE_PATH}/
    ---> 21088171876f
    Step 9/9 : USER $USER
    ---> Running in 825e0abc9f6a
    Removing intermediate container 825e0abc9f6a
    ---> b81d6430fcda
    Successfully built b81d6430fcda
    Successfully tagged wlsaksacru6jyly7kztoqu.azurecr.io/wlsaks-auxiliary-image:1.0
    2024/08/28 03:06:19 Successfully executed container: build
    2024/08/28 03:06:19 Executing step ID: push. Timeout(sec): 3600, Working directory: '', Network: ''
    2024/08/28 03:06:19 Pushing image: wlsaksacru6jyly7kztoqu.azurecr.io/wlsaks-auxiliary-image:1.0, attempt 1
    The push refers to repository [wlsaksacru6jyly7kztoqu.azurecr.io/wlsaks-auxiliary-image]
    ee589b3cda86: Preparing
    c1fd1adab3b9: Preparing
    d51af96cf93e: Preparing
    c1fd1adab3b9: Pushed
    d51af96cf93e: Pushed
    ee589b3cda86: Pushed
    1.0: digest: sha256:c813eb75576eb07a179c3cb4e70106ca7dd280f933ab33a2f6858de673b12eac size: 946
    2024/08/28 03:06:21 Successfully pushed image: wlsaksacru6jyly7kztoqu.azurecr.io/wlsaks-auxiliary-image:1.0
    2024/08/28 03:06:21 Step ID: build marked as successful (elapsed time in seconds: 8.780235)
    2024/08/28 03:06:21 Populating digests for step ID: build...
    2024/08/28 03:06:22 Successfully populated digests for step ID: build
    2024/08/28 03:06:22 Step ID: push marked as successful (elapsed time in seconds: 1.980158)
    2024/08/28 03:06:22 The following dependencies were found:
    2024/08/28 03:06:22
    - image:
       registry: wlsaksacru6jyly7kztoqu.azurecr.io
       repository: wlsaks-auxiliary-image
       tag: "1.0"
       digest: sha256:c813eb75576eb07a179c3cb4e70106ca7dd280f933ab33a2f6858de673b12eac
    runtime-dependency:
       registry: registry.hub.docker.com
       repository: library/busybox
       tag: latest
       digest: sha256:9ae97d36d26566ff84e8893c64a6dc4fe8ca6d1144bf5b87b2b85a32def253c7
    git: {}
    
    Run ID: ca1 was successful after 14s
    

    Obraz jest wypychany do usługi ACR po pomyślnej kompilacji.

  13. Możesz uruchomić polecenie az acr repository show , aby sprawdzić, czy obraz jest wypychany do repozytorium zdalnego, jak pokazano w poniższym przykładzie:

    az acr repository show --name ${ACR_NAME} --image ${IMAGE}
    

    To polecenie powinno wygenerować dane wyjściowe podobne do następującego przykładu:

    {
       "changeableAttributes": {
          "deleteEnabled": true,
          "listEnabled": true,
          "readEnabled": true,
          "writeEnabled": true
       },
       "createdTime": "2024-01-24T06:14:19.4546321Z",
       "digest": "sha256:a1befbefd0181a06c6fe00848e76f1743c1fecba2b42a975e9504ba2aaae51ea",
       "lastUpdateTime": "2024-01-24T06:14:19.4546321Z",
       "name": "1.0",
       "quarantineState": "Passed",
       "signed": false
    }
    

Stosowanie obrazu pomocniczego

W poprzednich krokach utworzono obraz pomocniczy, w tym modele i WDT. Zastosuj obraz pomocniczy do klastra serwera WebLogic, wykonując następujące kroki.

  1. Zastosuj obraz pomocniczy, stosując poprawkę niestandardowej definicji zasobu domeny (CRD) przy użyciu kubectl patch polecenia .

    Obraz pomocniczy jest zdefiniowany w spec.configuration.model.auxiliaryImagespliku , jak pokazano w poniższym przykładzie:

    spec:
      clusters:
      - name: sample-domain1-cluster-1
      configuration:
        model:
          auxiliaryImages:
          - image: wlsaksacrafvzeyyswhxek.azurecr.io/wlsaks-auxiliary-image:1.0
            imagePullPolicy: IfNotPresent
            sourceModelHome: /auxiliary/models
            sourceWDTInstallHome: /auxiliary/weblogic-deploy
    

    Użyj następujących poleceń, aby zwiększyć restartVersion wartość i użyć kubectl patch polecenia , aby zastosować obraz pomocniczy do domeny CRD przy użyciu przedstawionej definicji:

    export VERSION=$(kubectl -n ${WLS_DOMAIN_NS} get domain ${WLS_DOMAIN_UID} -o=jsonpath='{.spec.restartVersion}' | tr -d "\"")
    export VERSION=$((VERSION+1))
    
    export ACR_LOGIN_SERVER=$(az acr show --name ${ACR_NAME} --query "loginServer" --output tsv)
    
    cat <<EOF >patch-file.json
    [
      {
        "op": "replace",
        "path": "/spec/restartVersion",
        "value": "${VERSION}"
      },
      {
        "op": "add",
        "path": "/spec/configuration/model/auxiliaryImages",
        "value": [{"image": "$ACR_LOGIN_SERVER/$IMAGE", "imagePullPolicy": "IfNotPresent", "sourceModelHome": "/auxiliary/models", "sourceWDTInstallHome": "/auxiliary/weblogic-deploy"}]
      },
      {
       "op": "remove",
       "path": "/spec/configuration/model/configMap"
      }
    ]
    EOF
    
    kubectl -n ${WLS_DOMAIN_NS} patch domain ${WLS_DOMAIN_UID} \
        --type=json \
        --patch-file patch-file.json
    
  2. Ponieważ połączenie z bazą danych jest skonfigurowane na obrazie pomocniczym, uruchom następujące polecenie, aby usunąć ConfigMap:

    kubectl delete configmap sample-domain1-wdt-config-map -n ${WLS_DOMAIN_NS}
    

Przed kontynuowaniem poczekaj, aż następujące polecenie wyświetli następujące dane wyjściowe dla serwera administracyjnego i serwerów zarządzanych:

kubectl get pod -n ${WLS_DOMAIN_NS} -w
NAME                             READY   STATUS    RESTARTS   AGE
sample-domain1-admin-server      1/1     Running   0          20m
sample-domain1-managed-server1   1/1     Running   0          19m
sample-domain1-managed-server2   1/1     Running   0          18m

Osiągnięcie tego stanu przez system może potrwać od 5 do 10 minut. Poniższa lista zawiera omówienie tego, co się dzieje podczas oczekiwania:

  • Powinien zostać wyświetlony sample-domain1-introspector pierwszy uruchomiony element. To oprogramowanie wyszukuje zmiany w zasobie niestandardowym domeny, dzięki czemu może podejmować niezbędne działania w klastrze Kubernetes.
  • Po wykryciu zmian introspektor domeny zabija i uruchamia nowe zasobniki w celu wdrożenia zmian.
  • Następnie powinno zostać wyświetlone sample-domain1-admin-server zakończenie i ponowne uruchomienie zasobnika.
  • Następnie powinny zostać wyświetlone dwa serwery zarządzane, które zakończą działanie i uruchom ponownie.
  • Tylko wtedy, gdy wszystkie trzy zasobniki pokazują 1/1 Running stan, czy można kontynuować.

Weryfikowanie funkcjonalności wdrożenia

Wykonaj następujące kroki, aby zweryfikować funkcjonalność wdrożenia, wyświetlając konsolę administracyjną serwera WebLogic i przykładową aplikację:

  1. Wklej wartość adminConsoleExternalUrl na pasku adresu przeglądarki internetowej połączonej z Internetem. Powinien zostać wyświetlony ekran logowania do konsoli administracyjnej serwera WebLogic.

  2. Zaloguj się przy użyciu nazwy użytkownika weblogic i hasła wprowadzonego podczas wdrażania serwera WebLogic w witrynie Azure Portal. Pamiętaj, że ta wartość to wlsAksCluster2022.

  3. W polu Struktura domeny wybierz pozycję Usługi.

  4. W obszarze Usługi wybierz pozycję Źródła danych.

  5. W panelu Podsumowanie źródeł danych JDBC wybierz pozycję Monitorowanie. Ekran powinien wyglądać podobnie do poniższego przykładu. Stan źródła danych jest uruchomiony na serwerach zarządzanych.

    Zrzut ekranu przedstawiający stan źródła danych.

  6. W polu Struktura domeny wybierz pozycję Wdrożenia.

  7. W tabeli Wdrożenia powinien istnieć jeden wiersz. Nazwa powinna być taka sama jak Application wartość w pliku appmodel.yaml . Wybierz nazwę.

  8. Wybierz kartę Testowanie .

  9. Wybierz pozycję weblogic-café.

  10. W panelu Ustawienia dla weblogic-café wybierz kartę Testowanie.

  11. Rozwiń ikonę + obok weblogic-café. Ekran powinien wyglądać podobnie do poniższego przykładu. W szczególności powinny być widoczne wartości podobne do http://sample-domain1-managed-server1:8001/weblogic-cafe/index.xhtml w kolumnie Punkt testu.

    Zrzut ekranu przedstawiający punkty testowe weblogic-café.

    Uwaga

    Hiperlinki w kolumnie Punkt testowy nie można zaznaczyć, ponieważ nie skonfigurowaliśmy konsoli administracyjnej przy użyciu zewnętrznego adresu URL, na którym jest uruchomiony. W tym artykule przedstawiono konsolę administracyjną serwera WebLogic tylko w sposób demonstracyjny. Nie używaj konsoli administracyjnej serwera WebLogic server do żadnych trwałych zmian konfiguracji podczas uruchamiania serwera WebLogic w usłudze AKS. Natywny dla chmury projekt serwera WebLogic w usłudze AKS wymaga, aby każda trwała konfiguracja została przedstawiona w początkowych obrazach platformy Docker lub zastosowana do uruchomionego klastra usługi AKS przy użyciu technik ciągłej integracji/ciągłego wdrażania, takich jak aktualizowanie modelu, zgodnie z opisem w dokumentacji oracle.

  12. Zapoznaj się z wartością context-path wdrożonej przykładowej aplikacji. Jeśli wdrożono zalecaną przykładową aplikację, parametr context-path to weblogic-cafe.

  13. Skonstruuj w pełni kwalifikowany adres URL przykładowej aplikacji, dołączając context-path element do wartości clusterExternalUrl . Jeśli wdrożono zalecaną przykładową aplikację, w pełni kwalifikowany adres URL powinien być podobny do http://wlsgw202401-wls-aks-domain1.eastus.cloudapp.azure.com/weblogic-cafe/następującego: .

  14. Wklej w pełni kwalifikowany adres URL w przeglądarce internetowej połączonej z Internetem. Jeśli wdrożono zalecaną przykładową aplikację, powinny zostać wyświetlone wyniki podobne do poniższego zrzutu ekranu:

    Zrzut ekranu przedstawiający testową aplikację internetową.

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 . Następujące polecenie usuwa grupę zasobów, usługę kontenera, rejestr kontenerów, bazę danych 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 na temat uruchamiania serwera WebLogic w usłudze AKS lub maszynach wirtualnych, korzystając z następujących linków:

Aby uzyskać więcej informacji na temat ofert Oracle WebLogic w witrynie Azure Marketplace, zobacz Oracle WebLogic Server na platformie Azure. Wszystkie te oferty to Bring-Your-Own-License. Zakładają one, że masz już odpowiednie licencje z programem Oracle i są prawidłowo licencjonowane do uruchamiania ofert na platformie Azure.