Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera szczegółowe wskazówki dotyczące ręcznego wdrażania biblioteki Open/WebSphere Liberty na platformie Azure.
W szczególności w tym artykule wyjaśniono, jak wykonać następujące zadania:
- Uruchom aplikację Java, Java Enterprise Edition (EE), Jakarta EE lub MicroProfile w środowisku uruchomieniowym Open Liberty lub WebSphere Liberty.
- Zbuduj obraz Docker aplikacji z
az acr build, używając obrazów kontenera Liberty. - Wdróż konteneryzowaną aplikację w klastrze usługi Azure Kubernetes Service (AKS) przy użyciu operatora Liberty.
Operator Liberty upraszcza wdrażanie aplikacji działających w klastrach Kubernetes i zarządzanie nimi. Za pomocą operatora Open Liberty lub Operatora WebSphere Liberty można również wykonywać bardziej zaawansowane operacje, takie jak zbieranie śladów i zrzutów.
Aby uzyskać bardziej zautomatyzowane rozwiązanie, które przyspiesza podróż do usługi AKS przy użyciu rozwiązania marketplace dostępnego w witrynie Azure Portal, zobacz Wdrażanie aplikacji Java za pomocą rozwiązania Open Liberty/WebSphere Liberty w klastrze usługi Azure Kubernetes Service (AKS).
Aby uzyskać więcej informacji na temat open liberty, zobacz stronę projektu Open Liberty. Aby uzyskać więcej informacji na temat ibm WebSphere Liberty, zobacz stronę produktu WebSphere Liberty.
Ten artykuł ma pomóc w szybkim rozpoczęciu wdrażania. Przed przejściem do środowiska produkcyjnego należy zapoznać się z Tuning Liberty.
Jeśli chcesz przekazać opinię lub ściśle pracować nad scenariuszami migracji z zespołem inżynierów opracowującym rozwiązanie WebSphere na platformie Azure, wypełnij tę krótką ankietę dotyczącą migracji webSphere 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
- Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Interfejs wiersza polecenia platformy Azure w wersji 2.71.0 lub nowszej
- Java Standard Edition (SE), wersja 17 — na przykład Eclipse Open J9.
- Maven w wersji 3.5.0 lub nowszej
- Git
- Rola
Ownerlub rolaContributoriUser Access Administratorw subskrypcji platformy Azure. Przypisanie można sprawdzić, wykonując kroki opisane w sekcji Wyświetlanie listy przypisań ról platformy Azure przy użyciu portalu Azure.
Logowanie się do platformy Azure
Jeśli jeszcze tego nie zrobiono, wykonaj następujące kroki, aby zalogować się do subskrypcji platformy Azure:
Otwórz interfejs wiersza polecenia platformy Azure lub program PowerShell, a następnie zaloguj się przy użyciu polecenia
az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie do Azure przy użyciu Azure CLI.Uwaga
Jeśli masz wiele dzierżaw platformy Azure skojarzonych ze swoimi poświadczeniami platformy Azure, musisz określić, do której dzierżawy chcesz się zalogować. Możesz określić najemcę za pomocą opcji
--tenant— na przykładaz login --tenant contoso.onmicrosoft.com.Znajdź wersję i biblioteki zależne zainstalowane przy użyciu programu
az version.Przeprowadź uaktualnienie do najnowszej wersji przy użyciu polecenia
az upgrade.
Uwaga
Jeśli podczas korzystania z interfejsu wiersza polecenia platformy Azure zostanie wyświetlony monit o zainstalowanie rozszerzenia interfejsu wiersza polecenia platformy Azure, zrób to. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Większość poleceń Azure CLI można wykonywać w programie PowerShell w taki sam sposób jak w powłoce Bash. Różnica istnieje tylko w przypadku używania zmiennych. W kolejnych sekcjach różnica jest omówiona na różnych kartach, jeśli zachodzi potrzeba.
Tworzenie grupy zasobów
Grupa zasobów platformy Azure to logiczna grupa przeznaczona do wdrażania zasobów platformy Azure i zarządzania nimi.
Utwórz grupę zasobów o nazwie java-liberty-project przy użyciu az group create w eastus2 lokalizacji. Ta grupa zasobów jest później używana do tworzenia wystąpienia Azure Container Registry i klastra AKS.
export RESOURCE_GROUP_NAME=java-liberty-project
az group create --name $RESOURCE_GROUP_NAME --location eastus2
Utwórz wystąpienie rejestru kontenerów
Użyj az acr create, aby utworzyć wystąpienie rejestru kontenerów. Poniższy przykład tworzy wystąpienie rejestru kontenerów o nazwie <your-unique-ACR-name>. Zastąp ten symbol zastępczy wartością unikatową na platformie Azure.
Uwaga
W tym artykule jest używany zalecany mechanizm uwierzytelniania bez hasła dla usługi Azure Container Registry. Nadal można użyć nazwy użytkownika i hasła z docker login po użyciu az acr credential show w celu uzyskania nazwy użytkownika i hasła. Użycie nazwy użytkownika i hasła jest jednak mniej bezpieczne niż uwierzytelnianie bez hasła.
export REGISTRY_NAME=<your-unique-ACR-name>
az acr create \
--resource-group $RESOURCE_GROUP_NAME \
--name $REGISTRY_NAME \
--sku Basic
Po krótkim czasie powinny zostać wyświetlone dane wyjściowe JSON zawierające następujące wiersze:
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"resourceGroup": "java-liberty-project",
Pobierz nazwę serwera logowania dla wystąpienia rejestru kontenerów. Ta wartość jest potrzebna później podczas wdrażania obrazu aplikacji w klastrze AKS.
export LOGIN_SERVER=$(az acr show \
--name $REGISTRY_NAME \
--query 'loginServer' \
--output tsv)
Tworzenie klastra AKS
Użyj polecenia az aks create, aby utworzyć klaster AKS, jak pokazano w poniższym przykładzie. W tym przykładzie tworzony jest klaster AKS o nazwie myAKSCluster z jednym węzłem, a dołączane jest do niego wystąpienie rejestru kontenerów. Wykonanie polecenia trwa kilka minut.
export CLUSTER_NAME=myAKSCluster
az aks create \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--node-count 1 \
--node-vm-size Standard_DS2_V2 \
--generate-ssh-keys \
--enable-managed-identity \
--attach-acr $REGISTRY_NAME
Po zakończeniu polecenia zwraca on informacje w formacie JSON dotyczące klastra, w tym następujące dane wyjściowe:
"nodeResourceGroup": "MC_java-liberty-project_myAKSCluster_eastus2",
"privateFqdn": null,
"provisioningState": "Succeeded",
"resourceGroup": "java-liberty-project",
Nawiązywanie połączenia z klastrem usługi AKS
Aby zarządzać klastrem Kubernetes, wykonaj następujące czynności:
Zainstaluj
kubectlklienta wiersza polecenia Kubernetes przy użyciu poleceniaaz aks install-cli, jak pokazano w poniższym przykładzie:az aks install-cliUżyj
az aks get-credentialsdo skonfigurowaniakubectldo połączenia z klastrem Kubernetes. To polecenie pobiera poświadczenia i konfiguruje interfejs wiersza polecenia platformy Kubernetes do ich użycia, jak pokazano w poniższym przykładzie:Uwaga
Polecenie używa domyślnej lokalizacji pliku konfiguracji kubernetes, czyli ~/.kube/config. Możesz określić inną lokalizację pliku konfiguracji platformy Kubernetes przy użyciu polecenia
--file.az aks get-credentials \ --resource-group $RESOURCE_GROUP_NAME \ --name $CLUSTER_NAME \ --overwrite-existing \ --adminSprawdź połączenie z klastrem przy użyciu polecenia
kubectl get, aby zwrócić listę węzłów klastra, jak pokazano w poniższym przykładzie:kubectl get nodesPoniższe przykładowe dane wyjściowe zawierają jeden węzeł utworzony w poprzednich krokach. Upewnij się, że stan węzła to
Ready:NAME STATUS ROLES AGE VERSION aks-nodepool1-xxxxxxxx-yyyyyyyyyy Ready <none> 76s v1.29.9
Tworzenie bazy danych SQL platformy Azure
Utwórz pojedynczą bazę danych usługi Azure SQL Database dla aplikacji, wykonując następujące kroki:
Użyj następujących poleceń, aby ustawić zmienne środowiskowe związane z bazą danych. Zastąp
<your-unique-sql-server-name>element unikatową nazwą serwera usługi Azure SQL Database.export SQL_SERVER_NAME=<your-unique-sql-server-name> export DB_NAME=demodbUżyj następujących poleceń, aby utworzyć pojedynczą bazę danych i ustawić bieżącego zalogowanego użytkownika jako administratora firmy Microsoft Entra. Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie pojedynczej bazy danych — Azure SQL Database.
export ENTRA_ADMIN_NAME=$(az account show \ --query user.name \ --output tsv) az sql server create \ --resource-group $RESOURCE_GROUP_NAME \ --name $SQL_SERVER_NAME \ --enable-ad-only-auth \ --external-admin-principal-type User \ --external-admin-name $ENTRA_ADMIN_NAME \ --external-admin-sid $(az ad signed-in-user show --query id --output tsv) az sql db create \ --resource-group $RESOURCE_GROUP_NAME \ --name $DB_NAME \ --server $SQL_SERVER_NAME \ --edition GeneralPurpose \ --compute-model Serverless \ --family Gen5 \ --capacity 2
Uwaga
Należy utworzyć serwer Azure SQL z wyłączonym uwierzytelnianiem SQL ze względów bezpieczeństwa. Tylko identyfikator Entra firmy Microsoft jest używany do uwierzytelniania na serwerze. Aby uzyskać więcej informacji na temat włączania uwierzytelniania SQL, zobacz az sql server create.
Tworzenie połączenia usługi w AKS za pomocą Service Connector
Użyj następujących poleceń, aby utworzyć połączenie między klastrem AKS a bazą danych SQL, używając identyfikatora obciążenia Microsoft Entra za pomocą Service Connector. Aby uzyskać więcej informacji, zobacz Create a service connection in AKS with Service Connector (Tworzenie połączenia usługi w usłudze AKS za pomocą łącznika usługi).
# Register the Service Connector and Kubernetes Configuration resource providers
az provider register --namespace Microsoft.ServiceLinker --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait
# Install the Service Connector passwordless extension
az extension add \
--name serviceconnector-passwordless \
--upgrade \
--allow-preview true
# Retrieve the AKS cluster and Azure SQL Server resource IDs
export AKS_CLUSTER_RESOURCE_ID=$(az aks show \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--query id \
--output tsv)
export AZURE_SQL_SERVER_RESOURCE_ID=$(az sql server show \
--resource-group $RESOURCE_GROUP_NAME \
--name $SQL_SERVER_NAME \
--query id \
--output tsv)
# Create a user-assigned managed identity used for workload identity
export USER_ASSIGNED_IDENTITY_NAME=workload-identity-uami
az identity create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name ${USER_ASSIGNED_IDENTITY_NAME}
# Retrieve the user-assigned managed identity resource ID
export UAMI_RESOURCE_ID=$(az identity show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name ${USER_ASSIGNED_IDENTITY_NAME} \
--query id \
--output tsv)
# Create a service connection between your AKS cluster and your SQL database using Microsoft Entra Workload ID
az aks connection create sql \
--connection akssqlconn \
--client-type java \
--source-id $AKS_CLUSTER_RESOURCE_ID \
--target-id $AZURE_SQL_SERVER_RESOURCE_ID/databases/$DB_NAME \
--workload-identity $UAMI_RESOURCE_ID
Rozwiązywanie problemów z komunikatami o błędach
az aks connection create sql Jeśli polecenie generuje komunikat o błędzie, znajdź komunikat o błędzie na poniższej liście, a następnie skorzystaj z instrukcji, aby rozwiązać problem:
Dependency pyodbc can't be installed, please install it manuallyTen komunikat o błędzie wskazuje, że
pyodbcnie można zainstalować pakietu, najprawdopodobniej z powodu problemów z uprawnieniami. Rozwiąż problem, wykonując następujące czynności:Znajdź lokalizację języka Python, która współpracuje z interfejsem wiersza polecenia platformy Azure, uruchamiając następujące polecenie:
az --versionDane wyjściowe powinny zawierać
Python locationna przykładPython location '/opt/az/bin/python3'.Skopiuj wartość
Python location.Użyj następującego polecenia, aby zainstalować pakiet
pyodbcw trybiesudo. Zastąp element<python-location>lokalizacją języka Python skopiowaną w poprzednim kroku.sudo <python-location> -m pip install pyodbc
libodbc.so: nie można otworzyć pliku obiektu udostępnionego: nie ma takiego pliku lub katalogu
Ręcznie zainstaluj program odbc 17/18 dla programu SQL Server
Te błędy wskazują, że
odbcsterownik nie jest zainstalowany. Rozwiąż problem, wykonując następujące czynności:Uwaga
Należy użyć identyfikatora obciążenia Entra firmy Microsoft do bezpiecznego dostępu do usługi Azure SQL Database bez korzystania z uwierzytelniania SQL. Jeśli musisz użyć uwierzytelniania SQL, zignoruj kroki opisane w tej sekcji i użyj nazwy użytkownika i hasła, aby nawiązać połączenie z usługą Azure SQL Database.
Jeśli używasz systemu Linux, otwórz pozycję Zainstaluj sterownik Microsoft ODBC dla programu SQL Server (Linux). Jeśli używasz systemu MacOS, otwórz pozycję Zainstaluj sterownik Microsoft ODBC dla programu SQL Server (macOS).
Postępuj zgodnie z instrukcjami, aby zainstalować sterownik Microsoft ODBC (18 lub 17) dla programu SQL Server.
Ponownie użyj
az aks connection create sqlpolecenia , aby utworzyć połączenie z usługą, jak pokazano w poniższym przykładzie:az aks connection create sql \ --connection akssqlconn \ --client-type java \ --source-id $AKS_CLUSTER_RESOURCE_ID \ --target-id $AZURE_SQL_SERVER_RESOURCE_ID/databases/$DB_NAME \ --workload-identity $UAMI_RESOURCE_ID
Pobierz konto usługi i sekret utworzony przez łącznik usługi
Aby przeprowadzić uwierzytelnianie w usłudze Azure SQL Database, wykonaj następujące czynności:
Pobierz konto usługi i tajny klucz utworzony przez łącznik usługi, postępując zgodnie z instrukcjami w sekcji Zaktualizuj swój kontener w temacie Samouczek: łączenie aplikacji AKS z usługą Azure SQL Database. Użyj opcji , aby bezpośrednio utworzyć wdrożenie przy użyciu udostępnionego przykładowego fragmentu kodu YAML.
Uwaga
Tajemnica utworzona przez łącznik usługi zawiera wartość
AZURE_SQL_CONNECTIONSTRING, która jest łańcuchem połączenia bez hasła do bazy danych Azure SQL Database. Aby uzyskać więcej informacji, zobacz przykładową wartość z sekcji Tożsamość zarządzana przypisana przez użytkownika w Integracja bazy danych Azure SQL z łącznikiem usługi.Z wyróżnionych sekcji w przykładowym wdrożeniu Kubernetes YAML, skopiuj wartości
serviceAccountNameisecretRef.name, jak pokazano w poniższym przykładzie.serviceAccountName: <service-account-name> containers: - name: raw-linux envFrom: - secretRef: name: <secret-name>Zdefiniuj zmienne środowiskowe przy użyciu następujących poleceń. Pamiętaj, aby zastąpić
<service-account-name>oraz<secret-name>wartościami, które skopiowałeś w poprzednim kroku.export SERVICE_ACCOUNT_NAME=<service-account-name> export SECRET_NAME=<secret-name>Te wartości są używane w następnej sekcji, aby wdrożyć aplikację Liberty w klastrze usługi AKS.
Instalowanie operatora Open Liberty
W tej sekcji zainstalujesz operator Open Liberty w klastrze AKS, aby hostować aplikację Liberty.
Zainstaluj operator Open Liberty za pomocą następujących poleceń:
Uwaga
Ten przewodnik kieruje Cię do zainstalowania operatora Open Liberty. Aby użyć operatora WebSphere Liberty, zobacz Instalowanie operatora WebSphere Liberty za pomocą interfejsu wiersza polecenia platformy Kubernetes.
# Install cert-manager Operator
export CERT_MANAGER_VERSION=v1.11.2
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/${CERT_MANAGER_VERSION}/cert-manager.yaml
# Install the Open Liberty Operator
export OPERATOR_VERSION=1.4.2
mkdir -p overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/olo-all-namespaces.yaml -q -P ./overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/cluster-roles.yaml -q -P ./overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/kustomization.yaml -q -P ./overlays/watch-all-namespaces
mkdir base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/kustomization.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-crd.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-operator.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-roles.yaml -q -P ./base
kubectl create namespace open-liberty
kubectl apply --server-side -k overlays/watch-all-namespaces
# Remove the downloaded files
rm -rf overlays base
Konfigurowanie i kompilowanie obrazu aplikacji
Aby wdrożyć i uruchomić aplikację Liberty w klastrze AKS, konteneryzuj aplikację jako obraz Docker, używając Open Liberty Images lub WebSphere Liberty container images.
Wykonaj kroki opisane w tej sekcji, aby wdrożyć przykładową aplikację w środowisku uruchomieniowym Liberty. W tych krokach użyto narzędzia Maven.
Sprawdź aplikację
Sklonuj przykładowy kod dla tego przewodnika, używając następujących poleceń. Przykład znajduje się w repozytorium GitHub Open Liberty/WebSphere Liberty w usłudze Azure Kubernetes Service Samples , który zawiera kilka przykładów. W tym artykule użyto przykładu java-app .
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20250424
Jeśli zostanie wyświetlony komunikat o stanie detached HEAD, ten komunikat jest bezpieczny do zignorowania. Oznacza to po prostu, że sprawdziłeś tag. Sklonowanie repozytorium tworzy następującą strukturę plików:
java-app
├─ src/main/
│ ├─ aks/
│ │ ├─ openlibertyapplication-passwordless-db.yaml
│ ├─ docker/
│ │ ├─ Dockerfile
│ │ ├─ Dockerfile-wlp
│ ├─ liberty/config/
│ │ ├─ server.xml
│ ├─ java/
│ ├─ resources/
│ ├─ webapp/
├─ pom.xml
├─ pom-azure-identity.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 aks plik openlibertyapplication-passwordless-db.yaml służy do wdrażania obrazu aplikacji. W katalogu docker znajdują się dwa pliki do utworzenia obrazu aplikacji z użyciem Open Liberty lub WebSphere Liberty.
W katalogu liberty/config plik server.xml służy do konfigurowania połączenia bazy danych dla klastra Open Liberty i WebSphere Liberty. Definiuje zmienną używaną azure.sql.connectionstring do nawiązywania połączenia z usługą Azure SQL Database.
Plik pom.xml to plik modelu obiektów projektu Maven (POM), który zawiera informacje o konfiguracji projektu. Plik pom-azure-identity.xml deklaruje zależność azure-identity, która jest używana do uwierzytelniania w usługach platformy Azure przy użyciu identyfikatora Entra firmy Microsoft.
Uwaga
W tym przykładzie użyto biblioteki azure-identity do uwierzytelniania w usłudze Azure SQL Database przy użyciu uwierzytelniania firmy Microsoft Entra, co jest zalecane w przypadku zagadnień dotyczących zabezpieczeń. Aby uzyskać więcej informacji na temat korzystania z uwierzytelniania SQL w aplikacji Liberty, zobacz Połączenia relacyjnej bazy danych z łącznością bazy danych Java (JDBC).
Kompilowanie projektu
Po zebraniu niezbędnych właściwości skompiluj 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/aks. Jeśli wolisz, możesz zrobić coś podobnego dla aplikacji spoza narzędzia Maven.
cd $BASE_DIR/java-app
# The following variables are used for deployment file generation into target/
export LOGIN_SERVER=${LOGIN_SERVER}
export SC_SERVICE_ACCOUNT_NAME=${SERVICE_ACCOUNT_NAME}
export SC_SECRET_NAME=${SECRET_NAME}
mvn clean install
mvn dependency:copy-dependencies -f pom-azure-identity.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources
Kompilowanie obrazu dla wdrożenia usługi AKS
Użyj az acr build do zbudowania obrazu, jak pokazano w poniższym przykładzie.
cd $BASE_DIR/java-app/target
az acr build \
--registry ${REGISTRY_NAME} \
--image javaee-cafe:v1 \
.
Polecenie az acr build przesyła artefakty wskazane w pliku Dockerfile do instancji rejestru kontenerów, buduje obraz i przechowuje go w instancji rejestru kontenerów.
Wdrażanie aplikacji w klastrze usługi AKS
Aby wdrożyć aplikację Liberty w klastrze usługi AKS, wykonaj następujące kroki:
Zastosuj plik wdrożenia przy użyciu następujących poleceń:
cd $BASE_DIR/java-app/target # Apply deployment file kubectl apply -f openlibertyapplication-passwordless-db.yamlUstal, czy wystąpienie
OpenLibertyApplicationzostało utworzone, korzystając z następującego polecenia:kubectl get openlibertyapplication javaee-cafe-cluster --watchNastępujące dane wyjściowe są typowe. Użyj Ctrl+C , aby zakończyć pracę.
NAME IMAGE EXPOSED RECONCILED RESOURCESREADY READY WARNING AGE javaee-cafe-cluster <registry-name>.azurecr.io/javaee-cafe:v1 True True True 57sUstal, czy wdrożenie utworzone przez operator jest gotowe przy użyciu następującego polecenia:
kubectl get deployment javaee-cafe-cluster --watchNastępujące dane wyjściowe są typowe:
NAME READY UP-TO-DATE AVAILABLE AGE javaee-cafe-cluster 0/3 3 0 20sPoczekaj, aż zobaczysz
3/3pod kolumnąREADYi3pod kolumnąAVAILABLE, a następnie naciśnij Ctrl+C, aby zatrzymać proces zegarka.kubectl
Testowanie aplikacji
Po uruchomieniu aplikacji usługa modułu równoważenia obciążenia Kubernetes uwidacznia fronton aplikacji w Internecie. Ukończenie tego procesu może zająć trochę czasu.
Użyj kubectl get service polecenia, aby uzyskać zewnętrzny adres IP usługi, kiedy jest dostępny, jak pokazano w poniższym przykładzie:
export APP_URL=http://$(kubectl get service javaee-cafe-cluster -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo $APP_URL
Uwaga
Jeśli nie widzisz prawidłowego adresu URL z danych wyjściowych, zaczekaj chwilę i ponownie uruchom polecenie.
Otwórz adres URL w przeglądarce internetowej i sprawdź stronę główną aplikacji. Jeśli strona nie zostanie załadowana poprawnie, odśwież stronę później po uruchomieniu aplikacji. Powinieneś widzieć nazwę zasobnika replik aplikacji w lewym górnym rogu strony. Poczekaj kilka minut i odśwież stronę, aby wyświetlić inną nazwę podu z powodu równoważenia obciążenia zapewnianego przez klaster AKS.
Uwaga
Obecnie aplikacja nie używa protokołu HTTPS. Zalecamy włączenie protokołu Transport Layer Security (TLS) przy użyciu własnych certyfikatów. Aby uzyskać więcej informacji, zobacz Używanie protokołu TLS z kontrolerem ruchu przychodzącego w usłudze Azure Kubernetes Service (AKS).
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, usługę kontenera, rejestr kontenerów, bazę danych i wszystkie powiązane zasoby.
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
Następne kroki
Aby dowiedzieć się więcej, zapoznaj się z następującymi odwołaniami używanymi w tym przewodniku:
- Co to jest usługa Azure Kubernetes Service (AKS)?
- Samouczek: łączenie aplikacji usługi AKS z usługą Azure SQL Database
- Integracja Azure SQL Database z łącznikiem usługi
- Połącz za pomocą uwierzytelniania Microsoft Entra
- Open Liberty
- Operator Open Liberty
- Omówienie konfiguracji serwera Open Liberty Server
- Wtyczka Liberty Maven
- Obrazy Open Liberty
- Obrazy kontenerów WebSphere Liberty
Aby dołączyć usługę Azure Cache for Redis do aplikacji Java, zobacz Szybki start: używanie usługi Azure Cache for Redis w języku Java z klientem Redis Redisson.
Aby zapoznać się z opcjami uruchamiania produktów WebSphere na platformie Azure, zobacz Co to są rozwiązania do uruchamiania rodziny produktów WebSphere na platformie Azure?