Aracılığıyla paylaş


Azure Kubernetes Service (AKS) kümesinde Open Liberty veya WebSphere Liberty ile java uygulamasını el ile dağıtma

Bu makalede, Azure'da Open/WebSphere Liberty'yi el ile dağıtmaya yönelik adım adım yönergeler sağlanır.

Özellikle, bu makalede aşağıdaki görevlerin nasıl yerine getirileri açıklanmaktadır:

  • Java, Java Enterprise Edition (EE), Jakarta EE veya MicroProfile uygulamanızı Open Liberty veya WebSphere Liberty çalışma zamanında çalıştırın.
  • Liberty kapsayıcı görüntülerini kullanarak uygulama Docker görüntüsünü az acr build ile inşa edin.
  • Liberty İşleci kullanarak kapsayıcılı uygulamayı Azure Kubernetes Service (AKS) kümesine dağıtın.

Liberty Operatörü, Kubernetes kümelerinde çalışan uygulamaların dağıtımını ve yönetimini basitleştirir. Open Liberty Operatörü veya WebSphere Liberty Operatörü ile izlemeleri ve dökümleri toplama gibi daha gelişmiş işlemler de gerçekleştirebilirsiniz.

Azure portalında bulunan bir Market çözümünü kullanarak AKS yolculuğunuzu hızlandıran daha otomatik bir çözüm için bkz. Azure Kubernetes Service (AKS) kümesinde Open Liberty/WebSphere Liberty ile Java uygulaması dağıtma.

Open Liberty hakkında daha fazla bilgi için Open Liberty proje sayfasına bakın. IBM WebSphere Liberty hakkında daha fazla bilgi için WebSphere Liberty ürün sayfasına bakın.

Bu makale, dağıtıma hızlı bir şekilde başlamanıza yardımcı olmak için tasarlanmıştır. Üretime geçmeden önce Tuning Liberty'yi keşfetmeniz gerekir.

Azure'da WebSphere çözümleri geliştiren mühendislik ekibiyle geri bildirim sağlamak veya geçiş senaryolarınız üzerinde yakından çalışmak istiyorsanız, WebSphere geçişiyle ilgili bu kısa anketi doldurun ve iletişim bilgilerinizi ekleyin. Program yöneticileri, mimarlar ve mühendislerden oluşan ekip, yakın işbirliği başlatmak için sizinle hemen iletişime geçecektir.

Önkoşullar

Azure'da oturum açma

Henüz yapmadıysanız Azure aboneliğinizde oturum açmak için aşağıdaki adımları kullanın:

  1. Azure CLI veya PowerShell'i açın ve az login kullanarak oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Azure CLI ile Azure'da oturum açma seçenekleri için bkz. . Diğer giriş seçenekleri için'e bakın.

    Not

    Azure kimlik bilgilerinizle ilişkilendirilmiş birden çok Azure kiracınız varsa, hangi kiracıda oturum açmak istediğinizi belirtmeniz gerekir. seçeneğiyle --tenant bir kiracı belirtebilirsiniz. Örneğin, az login --tenant contoso.onmicrosoft.com.

  2. kullanarak az version yüklenen sürüm ve bağımlı kütüphaneleri bulun.

  3. kullanarak az upgradeen son sürüme yükseltin.

Not

Azure CLI kullanırken bir Azure CLI uzantısı yüklemeniz istenirse bunu yapın. Uzantılar hakkında daha fazla bilgi için bkz . Azure CLI ile uzantıları kullanma ve yönetme.

PowerShell'de Azure CLI komutlarının çoğunu Bash ile aynı şekilde çalıştırabilirsiniz. Fark yalnızca değişkenler kullanılırken vardır. Aşağıdaki bölümlerde, fark gerektiğinde farklı sekmelerde ele alınıyor.

Kaynak grubu oluşturma

Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir gruptur.

java-liberty-project konumunda az group create kullanarak eastus2 adlı bir kaynak grubu oluşturun. Bu kaynak grubu daha sonra Azure Container Registry örneğini ve AKS kümesini oluşturmak için kullanılır.

export RESOURCE_GROUP_NAME=java-liberty-project
az group create --name $RESOURCE_GROUP_NAME --location eastus2

Bir kapsayıcı kayıt defteri örneği oluşturun

Kapsayıcı kayıt defteri örneğini oluşturmak için kullanın az acr create . Aşağıdaki örnek <your-unique-ACR-name> adlı bir kapsayıcı kayıt defteri örneği oluşturur. Bu yer tutucuyu Azure genelinde benzersiz bir değerle değiştirin.

Not

Bu makalede Azure Container Registry için önerilen parolasız kimlik doğrulama mekanizması kullanılır. Kullanıcı adı ve parolayı almak için docker login kullandıktan sonra az acr credential show ile kullanıcı adı ve parola kullanmak mümkündür. Ancak kullanıcı adı ve parola kullanmak, parolasız kimlik doğrulamasından daha az güvenlidir.

export REGISTRY_NAME=<your-unique-ACR-name>
az acr create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $REGISTRY_NAME \
    --sku Basic

Kısa bir süre sonra aşağıdaki satırları içeren JSON çıktısını görmeniz gerekir:

"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"resourceGroup": "java-liberty-project",

Kapsayıcı kayıt defteri örneğinin oturum açma sunucusu adını alın. Uygulama görüntüsünü AKS kümesine daha sonra dağıtırken bu değere ihtiyacınız vardır.

export LOGIN_SERVER=$(az acr show \
    --name $REGISTRY_NAME \
    --query 'loginServer' \
    --output tsv)

AKS kümesi oluşturma

AKS kümesi oluşturmak için az aks create kullanın, aşağıdaki örnekte gösterildiği gibi. Bu örnek, bir düğüm ile adlı myAKSCluster bir AKS kümesi oluşturur ve kapsayıcı kayıt defteri örneğini buna ekler. Komutun tamamlanması birkaç dakika sürer.

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

Komut tamamlandıktan sonra, aşağıdaki çıkış da dahil olmak üzere küme hakkında JSON biçimli bilgileri döndürür:

"nodeResourceGroup": "MC_java-liberty-project_myAKSCluster_eastus2",
"privateFqdn": null,
"provisioningState": "Succeeded",
"resourceGroup": "java-liberty-project",

AKS kümesine bağlanma

Kubernetes kümenizi yönetmek için aşağıdaki adımları kullanın:

  1. Aşağıdaki örnekte gösterildiği gibi kullanarak kubectlKubernetes komut satırı istemcisini yükleyinaz aks install-cli:

    az aks install-cli
    
  2. Kubernetes kümenize bağlanmak için az aks get-credentials kullanarak kubectl yapılandırın. Bu komut, aşağıdaki örnekte gösterildiği gibi kimlik bilgilerini indirir ve Kubernetes CLI'yi bunları kullanacak şekilde yapılandırmaktadır:

    Not

    Komut, ~/.kube/config olan Kubernetes yapılandırma dosyası için varsayılan konumu kullanır. kullanarak --fileKubernetes yapılandırma dosyanız için farklı bir konum belirtebilirsiniz.

    az aks get-credentials \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $CLUSTER_NAME \
        --overwrite-existing \
        --admin
    
  3. kubectl get komutunu kullanarak küme düğümlerinin listesini döndürmek suretiyle kümenize bağlantıyı doğrulayın. Aşağıdaki örnekte gösterildiği gibi:

    kubectl get nodes
    

    Aşağıdaki örnekte önceki adımlarda oluşturulan tek düğüm gösterilmiştir. Düğümün durumu Ready olduğundan emin olun:

    NAME                                STATUS   ROLES   AGE     VERSION
    aks-nodepool1-xxxxxxxx-yyyyyyyyyy   Ready    <none>  76s     v1.29.9
    

Azure SQL Veritabanı oluşturma

Aşağıdaki adımları kullanarak uygulamanız için bir Azure SQL Veritabanı tek veritabanı oluşturun:

  1. Veritabanıyla ilgili ortam değişkenlerini ayarlamak için aşağıdaki komutları kullanın. öğesini değiştirin.

    export SQL_SERVER_NAME=<your-unique-sql-server-name>
    export DB_NAME=demodb
    
  2. Tek bir veritabanı oluşturmak ve geçerli oturum açmış kullanıcıyı Microsoft Entra yöneticisi olarak ayarlamak için aşağıdaki komutları kullanın. Daha fazla bilgi için bkz . Hızlı Başlangıç: Tek veritabanı oluşturma - Azure SQL Veritabanı.

    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
    

Not

Güvenlikle ilgili dikkat edilmesi gerekenler için SQL kimlik doğrulaması devre dışı bırakılmış bir Azure SQL sunucusu oluşturursunuz. Sunucuda kimlik doğrulaması yapmak için yalnızca Microsoft Entra Kimliği kullanılır. SQL kimlik doğrulamasını etkinleştirme hakkında daha fazla bilgi için bkz az sql server create. .

Hizmet Bağlayıcısı ile AKS'de hizmet bağlantısı oluşturma

Hizmet Bağlayıcısı ile Microsoft Entra İş Yükü Kimliğini kullanarak AKS kümesi ile SQL veritabanı arasında bağlantı oluşturmak için aşağıdaki komutları kullanın. Daha fazla bilgi için bkz. Hizmet Bağlayıcısı ile AKS'de hizmet bağlantısı oluşturma.

# 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

Hata iletileriyle ilgili sorunları giderme

az aks connection create sql Komut bir hata iletisi oluşturursa, aşağıdaki listede hata iletisini bulun ve ardından sorunu gidermek için yönergeleri kullanın:

  • Dependency pyodbc can't be installed, please install it manually

    Bu hata iletisi, büyük olasılıkla izin sorunları nedeniyle paketin yüklenemediğine işaret eder pyodbc . Aşağıdaki adımları kullanarak sorunu düzeltin:

    1. Aşağıdaki komutu çalıştırarak Azure CLI ile çalışan Python konumunu bulun:

      az --version
      

      Çıkış, Python location içermelidir - örneğin, Python location '/opt/az/bin/python3'.

    2. Python location Değerini kopyalayın.

    3. pyodbc modunda sudo paketini yüklemek için aşağıdaki komutu kullanın. "<python-location>'u önceki adımda kopyaladığınız Python konumuyla değiştirin."

      sudo <python-location> -m pip install pyodbc
      
  • libodbc.so: paylaşılan nesne dosyası açılamıyor: Böyle bir dosya veya dizin yok

  • Sql server için odbc 17/18'i el ile yükleyin

    Bu hatalar sürücünün yüklü olmadığını gösterir odbc . Aşağıdaki adımları kullanarak sorunu düzeltin:

    Not

    SQL kimlik doğrulaması kullanmadan Azure SQL Veritabanınıza güvenli erişim için Microsoft Entra İş Yükü Kimliğini kullanmanız gerekir. SQL kimlik doğrulamasını kullanmanız gerekiyorsa, bu bölümdeki adımları yoksayın ve Azure SQL Veritabanı'na bağlanmak için kullanıcı adı ve parolayı kullanın.

    1. Linux kullanıyorsanız SQL Server (Linux) için Microsoft ODBC sürücüsünü yükle'yi açın. MacOS kullanıyorsanız SQL Server (macOS) için Microsoft ODBC sürücüsünü yükle'yi açın.

    2. SQL Server için Microsoft ODBC Sürücüsünü (18 veya 17) yüklemek için yönergeleri izleyin.

    3. Aşağıdaki örnekte gösterildiği gibi hizmet bağlantısını oluşturmak için yeniden kullanın az aks connection create sql :

      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
      

Hizmet Bağlayıcısı tarafından oluşturulan hizmet hesabını ve gizli anahtarı al

Azure SQL Veritabanı ile kimlik doğrulaması yapmak için aşağıdaki adımları kullanın:

  1. Hizmet Bağlayıcı tarafından oluşturulan hizmet hesabını ve sırları alın. Bunu yapmak için Öğretici: AKS uygulamasını Azure SQL Veritabanı'na bağlama bölümündeki Konteynerinizi güncelleyin kısmının yönergelerini izleyin. Sağlanan YAML örnek kod parçacığını kullanarak doğrudan dağıtım oluşturmak için seçeneğini kullanın.

    Not

    Service Connector tarafından oluşturulan gizli bilgi, Azure SQL Veritabanı için parolasız bir bağlantı dizesi olan bir AZURE_SQL_CONNECTIONSTRING değeri içerir. Daha fazla bilgi için Azure SQL Veritabanı'nı Service Connector ile Tümleştirmekullanıcı tarafından atanan yönetilen kimlik bölümündeki örnek değere bakın.

  2. Aşağıdaki örnekte gösterildiği gibi, örnek Kubernetes dağıtımı YAML'deki vurgulanan bölümlerden serviceAccountName ve secretRef.name değerlerini kopyalayın.

    serviceAccountName: <service-account-name>
    containers:
    - name: raw-linux
       envFrom:
          - secretRef:
             name: <secret-name>
    
  3. Aşağıdaki komutları kullanarak ortam değişkenlerini tanımlayın. Önceki adımda kopyaladığınız değerlerle <service-account-name> ve <secret-name> değerlerini değiştirdiğinizden emin olun.

    export SERVICE_ACCOUNT_NAME=<service-account-name>
    export SECRET_NAME=<secret-name>
    

    Bu değerler sonraki bölümde Liberty uygulamasını AKS kümesine dağıtmak için kullanılır.

Open Liberty operatörünü yükleme

Bu bölümde, Liberty uygulamasını barındırmak için AKS kümesine Open Liberty İşleci'ni yükleyeceksiniz.

Aşağıdaki komutları kullanarak Open Liberty İşleci'ni yükleyin:

Not

Bu kılavuz sizi Open Liberty Operatörünü yüklemeye yönlendirir. WebSphere Liberty Operatörünü kullanmak için bkz . Kubernetes CLI ile WebSphere Liberty işlecini yükleme.

# 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

Uygulama görüntüsünü yapılandırma ve oluşturma

Liberty uygulamanızı AKS kümesinde dağıtmak ve çalıştırmak için Open Liberty Images veya WebSphere Liberty kapsayıcı görüntülerini kullanarak uygulamanızı Docker görüntüsü olarak kapsayıcıya alın.

Liberty çalışma zamanında örnek uygulamayı dağıtmak için bu bölümdeki adımları izleyin. Bu adımlarda Maven kullanılır.

Uygulamayı gözden geçirin

Aşağıdaki komutları kullanarak bu kılavuzun örnek kodunu kopyalayın. Örnek, birkaç örnek içeren Azure Kubernetes Service Samples GitHub deposundaki Open Liberty/WebSphere Liberty deposundadır. Bu makalede bir java-app örneği kullanılmaktadır.

git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20250424

detached HEAD durumunda olduğunu belirten bir ileti görürseniz, bu iletiyi yoksayabilirsiniz. Sadece bir etiketi kontrol ettiğiniz anlamına gelir. Deponun kopyalanması aşağıdaki dosya yapısını oluşturur:

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

Java, resources ve webapp dizinleri örnek uygulamanın kaynak kodunu içerir. Kod adlı jdbc/JavaEECafeDBbir veri kaynağı bildirir ve kullanır.

aks dizininde, uygulama görüntüsünü dağıtmak için openlibertyapplication-passwordless-db.yaml dosyası kullanılır. Docker dizininde, Open Liberty veya WebSphere Liberty ile uygulama görüntüsünü oluşturmak için iki dosya vardır.

liberty/config dizininde, server.xml dosyası Open Liberty ve WebSphere Liberty kümesi için veritabanı bağlantısını yapılandırmak için kullanılır. Azure SQL Veritabanı'na bağlanmak için kullanılan bir azure.sql.connectionstring değişken tanımlar.

pom.xml dosyası, projenin yapılandırma bilgilerini içeren Maven proje nesne modeli (POM) dosyasıdır. pom-azure-identity.xml dosyası, Microsoft Entra Id kullanarak Azure hizmetlerinde kimlik doğrulaması yapmak için kullanılan azure-identity bağımlılığını bildirir.

Not

Bu örnek, güvenlik konuları için önerilen Microsoft Entra kimlik doğrulamasını kullanarak Azure SQL Veritabanı'na kimlik doğrulaması yapmak için azure-identity kitaplığını kullanır. Liberty uygulamanızda SQL kimlik doğrulamasını kullanma hakkında daha fazla bilgi için bkz. Java Veritabanı Bağlantısı (JDBC) ile ilişkisel veritabanı bağlantıları.

Projeyi inşa et

Gerekli özellikleri topladığınıza göre, aşağıdaki komutları kullanarak uygulamayı derleyin. Projenin POM dosyası ortamdan birçok değişken okur. Maven derlemesinin bir parçası olarak, bu değişkenler src/main/aks içinde bulunan YAML dosyalarındaki değerleri doldurmak için kullanılır. İsterseniz Maven dışında uygulamanız için benzer bir şey yapabilirsiniz.

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

AKS dağıtımı için görüntü oluşturma

Aşağıdaki örnekte gösterildiği gibi görüntüyü oluşturmak için kullanın az acr build :

cd $BASE_DIR/java-app/target

az acr build \
    --registry ${REGISTRY_NAME} \
    --image javaee-cafe:v1 \
    .

komutu az acr build dosyasında belirtilen yapıtları kapsayıcı kayıt defteri örneğine yükler, görüntüyü derler ve kapsayıcı kayıt defteri örneğinde depolar.

Uygulamayı AKS kümesine dağıtma

Liberty uygulamasını AKS kümesine dağıtmak için aşağıdaki adımları kullanın:

  1. Aşağıdaki komutları kullanarak dağıtım dosyasını uygulayın:

    cd $BASE_DIR/java-app/target
    
    # Apply deployment file
    kubectl apply -f openlibertyapplication-passwordless-db.yaml
    
  2. OpenLibertyApplication örneğinin, aşağıdaki komutu kullanarak oluşturulup oluşturulmadığını belirleyin.

    kubectl get openlibertyapplication javaee-cafe-cluster --watch
    

    Aşağıdaki çıkış tipiktir. Çıkmak için Ctrl+C kullanın.

    NAME                  IMAGE                                        EXPOSED   RECONCILED   RESOURCESREADY   READY   WARNING   AGE
    javaee-cafe-cluster   <registry-name>.azurecr.io/javaee-cafe:v1              True         True             True              57s
    
  3. Aşağıdaki komutu kullanarak işleç tarafından oluşturulan dağıtımın hazır olup olmadığını belirleyin:

    kubectl get deployment javaee-cafe-cluster --watch
    

    Aşağıdaki çıkış tipiktir:

    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    javaee-cafe-cluster         0/3     3            0           20s
    
  4. sütununun altında ve sütununun altında ifadesini görene kadar bekleyin, ardından izleme işlemini durdurmak için CtrlC tuşlarına basın.

Uygulamayı test etme

Uygulama çalıştırıldığında Kubernetes yük dengeleyici hizmeti, uygulamanın ön ucunu İnternet'te kullanıma sunar. Bu işlemin tamamlanması biraz zaman alabilir.

Aşağıdaki örnekte gösterildiği gibi, kullanılabilir olduğunda hizmetin dış IP adresini almak için kullanın kubectl get service :

export APP_URL=http://$(kubectl get service javaee-cafe-cluster -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo $APP_URL

Not

Çıkışta geçerli bir URL görmüyorsanız, bir süre bekleyin ve komutu yeniden çalıştırın.

URL'yi bir web tarayıcısında açın ve uygulamanın giriş sayfasını denetleyin. Sayfa doğru yüklenmiyorsa, uygulama başlatıldıktan sonra sayfayı daha sonra yenileyin. Sayfanın sol üst kısmında uygulama replikalarınızın pod adını görmelisiniz. AKS kümesi tarafından sağlanan yük dengeleme nedeniyle görüntülenen farklı bir pod adını görmek için birkaç dakika bekleyin ve sayfayı yenileyin.

Java liberty uygulaması giriş sayfasının ekran görüntüsü.

Not

Şu anda uygulama HTTPS kullanmıyor. Aktarım Katmanı Güvenliği'ni (TLS) kendi sertifikalarınızla etkinleştirmenizi öneririz. Daha fazla bilgi için bkz . Azure Kubernetes Service'te (AKS) giriş denetleyicisiyle TLS kullanma.

Kaynakları temizleme

Azure ücretlerinden kaçınmak için gereksiz kaynakları temizlemeniz gerekir. Küme artık gerekli olmadığında kaynak grubunu, kapsayıcı hizmetini, kapsayıcı kayıt defterini, veritabanını ve tüm ilgili kaynakları kaldırmak için kullanın az group delete .

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

Sonraki adımlar

Bu kılavuzda kullanılan aşağıdaki başvurulardan daha fazla bilgi edinebilirsiniz:

Redis için Azure Cache'i bir Java uygulamasına eklemek için bkz . Hızlı Başlangıç: Redisson Redis istemcisiyle Java'da Redis için Azure Cache'i kullanma.

WebSphere ürünlerini Azure'da çalıştırma seçeneklerini keşfetmek için bkz . Azure'da WebSphere ürün ailesini çalıştırmaya yönelik çözümler nelerdir?