Bagikan melalui


Menyebarkan aplikasi Java secara manual dengan Open Liberty atau WebSphere Liberty pada kluster Azure Kubernetes Service (AKS)

Artikel ini menyediakan panduan manual langkah demi langkah untuk menjalankan Open/WebSphere Liberty di Azure.

Secara khusus, artikel ini menjelaskan cara menyelesaikan tugas-tugas berikut:

  • Menjalankan aplikasi Java, Java EE, Jakarta EE, atau MicroProfile Anda pada runtime Open Liberty atau WebSphere Liberty.
  • Buat gambar Docker aplikasi dengan az acr build menggunakan gambar kontainer Liberty.
  • Sebarkan aplikasi dalam kontainer ke kluster Azure Kubernetes Service (AKS) menggunakan Operator Liberty.

Operator Liberty menyederhanakan penyebaran dan manajemen aplikasi yang berjalan pada kluster Kubernetes. Dengan Operator Open Liberty atau Operator WebSphere Liberty, Anda juga dapat melakukan operasi yang lebih canggih, seperti mengumpulkan jejak dan cadangan.

Untuk solusi yang lebih otomatis yang mempercepat perjalanan Anda ke AKS, lihat Menyebarkan aplikasi Java dengan Open Liberty/WebSphere Liberty pada kluster Azure Kubernetes Service (AKS).

Untuk informasi lebih lanjut tentang Open Liberty, lihat laman proyek Open Liberty. Untuk informasi lebih lanjut tentang IBM WebSphere Liberty, lihat laman produk WebSphere Liberty.

Artikel ini dimaksudkan untuk membantu Anda dengan cepat sampai ke penyebaran. Sebelum pergi ke produksi, Anda harus menjelajahi Tuning Liberty.

Jika Anda tertarik untuk memberikan umpan balik atau bekerja erat pada skenario migrasi Anda dengan tim teknik yang mengembangkan WebSphere di solusi Azure, isi survei singkat ini tentang migrasi WebSphere dan sertakan informasi kontak Anda. Tim manajer program, arsitek, dan insinyur akan segera menghubungi Anda untuk memulai kolaborasi yang erat.

Prasyarat

  • Langganan Azure. Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.
  • Siapkan komputer lokal dengan Windows, macOS, atau Linux yang terinstal.
  • Instal implementasi Java Standard Edition (SE), versi 17 (misalnya, Eclipse Open J9).
  • Instal Maven versi 3.5.0 atau yang lebih baru.
  • Pastikan Git diinstal.
  • Pastikan Anda diberi Owner peran atau Contributor peran dan User Access Administrator dalam langganan. Anda dapat memverifikasi penetapan dengan mengikuti langkah-langkah dalam Mencantumkan penetapan peran Azure menggunakan portal Azure.

Masuk ke Azure

Jika Anda belum melakukannya, masuk ke langganan Azure Anda dengan menggunakan perintah az login dan ikuti petunjuk di layar.

az login

Catatan

Anda dapat menjalankan sebagian besar perintah Azure CLI di PowerShell sama seperti di Bash. Perbedaan hanya ada saat menggunakan variabel. Di bagian berikut, perbedaan ditangani di tab yang berbeda saat diperlukan.

Jika Anda memiliki beberapa penyewa Azure yang terkait dengan kredensial Azure, Anda harus menentukan penyewa mana yang ingin Anda masuki. Anda dapat melakukan ini dengan --tenant opsi . Contohnya,az login --tenant contoso.onmicrosoft.com.

Buat grup sumber daya

Grup sumber daya Azure adalah grup logis tempat sumber daya Azure disebarkan dan dikelola.

Buat grup sumber daya yang disebut java-liberty-project menggunakan perintah az group create di eastus2 lokasi. Grup sumber daya ini digunakan nanti untuk membuat instans Azure Container Registry dan kluster AKS.

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

Membuat instans Container Registry

Gunakan perintah az acr create untuk membuat instans Container Registry. Contoh berikut membuat instans Container Registry bernama youruniqueacrname. Pastikan youruniqueacrname unik dalam Azure.

Catatan

Artikel ini menggunakan mekanisme autentikasi tanpa kata sandi yang direkomendasikan untuk Container Registry. Masih dimungkinkan untuk menggunakan nama pengguna dan kata sandi dengan docker login setelah menggunakan az acr credential show untuk mendapatkan nama pengguna dan kata sandi. Menggunakan nama pengguna dan kata sandi kurang aman daripada autentikasi tanpa kata sandi.

export REGISTRY_NAME=youruniqueacrname
az acr create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $REGISTRY_NAME \
    --sku Basic

Setelah beberapa saat, Anda akan melihat output JSON yang berisi baris berikut:

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

Selanjutnya, ambil server masuk untuk instans Container Registry. Anda memerlukan nilai ini saat menyebarkan gambar aplikasi ke kluster AKS nanti.

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

Membuat kluster AKS

Gunakan perintah az aks create untuk membuat kluster AKS. Contoh berikut membuat kluster bernama myAKSCluster dengan satu simpul. Perintah ini memerlukan waktu 2-3 menit untuk diselesaikan.

export CLUSTER_NAME=myAKSCluster
az aks create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --node-count 1 \
    --generate-ssh-keys \
    --enable-managed-identity

Setelah beberapa menit, perintah menyelesaikan dan mengembalikan informasi berformat JSON tentang kluster, termasuk output berikut:

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

Lampirkan instans Container Registry ke kluster AKS

Jalankan perintah az aks update untuk melampirkan instans Container Registry ke kluster AKS sehingga kluster AKS diautentikasi untuk menarik gambar dari instans Container Registry, seperti yang ditunjukkan dalam contoh berikut:

az aks update \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --attach-acr $REGISTRY_NAME

Menyambungkan ke kluster AKS

Untuk mengelola kluster Kubernetes, Anda menggunakan kubectl, klien baris perintah Kubernetes. Untuk menginstal kubectl secara lokal, gunakan perintah az aks install-cli , seperti yang ditunjukkan dalam contoh berikut:

az aks install-cli

Untuk mengonfigurasi kubectl agar tersambung ke kluster Kubernetes, gunakan perintah az aks get-credentials. Perintah ini mengunduh informasi masuk dan mengonfigurasi CLI Kube untuk menggunakannya.

az aks get-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --overwrite-existing \
    --admin

Catatan

Perintah di atas menggunakan lokasi default untuk file konfigurasi Kube, yaitu ~/.kube/config. Anda dapat menentukan lokasi yang berbeda untuk file konfigurasi Kubernetes menggunakan --file.

Untuk memverifikasi sambungan ke kluster Anda, gunakan perintah kubectl get untuk mengembalikan daftar node kluster.

kubectl get nodes

Contoh output berikut menunjukkan satu simpul yang dibuat pada langkah sebelumnya. Pastikan bahwa status simpul Siap:

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

Membuat Azure SQL Database

Di bagian ini, Anda membuat database tunggal Azure SQL Database untuk digunakan dengan aplikasi Anda.

Pertama, atur variabel lingkungan terkait database. Ganti <your-unique-sql-server-name> dengan nama unik untuk server Azure SQL Database Anda.

export SQL_SERVER_NAME=<your-unique-sql-server-name>
export DB_NAME=demodb

Jalankan perintah berikut di terminal Anda untuk membuat database tunggal di Azure SQL Database dan atur pengguna yang masuk saat ini sebagai admin Microsoft Entra. Untuk informasi selengkapnya, lihat Mulai Cepat: Membuat database tunggal - Azure SQL Database.

export ENTRA_ADMIN_NAME=$(az ad signed-in-user show --query userPrincipalName --output tsv)

az sql server create \
    --name $SQL_SERVER_NAME \
    --resource-group $RESOURCE_GROUP_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 \
    --server $SQL_SERVER_NAME \
    --name $DB_NAME \
    --edition GeneralPurpose \
    --compute-model Serverless \
    --family Gen5 \
    --capacity 2

Kemudian, tambahkan alamat IP lokal ke aturan firewall server Azure SQL Database untuk memungkinkan komputer lokal Anda tersambung ke database untuk pengujian lokal nanti.

export AZ_LOCAL_IP_ADDRESS=$(curl -s https://whatismyip.akamai.com)
az sql server firewall-rule create \
    --resource-group $RESOURCE_GROUP_NAME \
    --server $SQL_SERVER_NAME \
    --name AllowLocalIP \
    --start-ip-address $AZ_LOCAL_IP_ADDRESS \
    --end-ip-address $AZ_LOCAL_IP_ADDRESS

Catatan

Anda membuat server Azure SQL dengan autentikasi SQL dinonaktifkan untuk pertimbangan keamanan. Hanya ID Microsoft Entra yang digunakan untuk mengautentikasi ke server. Jika Anda perlu mengaktifkan autentikasi SQL, lihat az sql server create untuk informasi selengkapnya.

Membuat koneksi layanan di AKS dengan Konektor Layanan

Jalankan perintah berikut untuk membuat koneksi antara kluster AKS dan database SQL menggunakan ID Beban Kerja Microsoft Entra dengan Konektor Layanan. Untuk informasi selengkapnya, lihat Membuat koneksi layanan di AKS dengan Konektor Layanan (pratinjau).

# 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

Catatan

Disarankan kembali untuk menggunakan ID Beban Kerja Microsoft Entra untuk akses aman ke Azure SQL Database Anda tanpa menggunakan autentikasi SQL. Jika Anda perlu menggunakan autentikasi SQL, abaikan langkah-langkah di atas di bagian ini dan gunakan nama pengguna dan kata sandi untuk menyambungkan ke Azure SQL Database.

Mendapatkan akun dan rahasia servcie yang dibuat oleh Konektor Layanan

Untuk mengautentikasi ke Azure SQL Database, Anda perlu mendapatkan akun layanan dan rahasia yang dibuat oleh Konektor Layanan. Ikuti bagian Memperbarui kontainer Anda. Ambil opsi Buat penyebaran secara langsung menggunakan cuplikan kode sampel YAML yang disediakan dan jalankan langkah-langkah berikut:

  1. Dari bagian yang disorot dalam sampel YAML penyebaran Kubernetes, salin serviceAccountName nilai dan secretRef.name , seperti yang ditunjukkan dalam contoh berikut:

    serviceAccountName: <service-account-name>
    containers:
    - name: raw-linux
       envFrom:
          - secretRef:
             name: <secret-name>
    
  2. Ganti <service-account-name> dan <secret-name> dengan nilai yang Anda salin di langkah sebelumnya untuk menentukan variabel lingkungan berikut:

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

    Nilai-nilai ini digunakan di bagian berikutnya untuk menyebarkan aplikasi Liberty ke kluster AKS.

Catatan

Rahasia yang dibuat oleh Konektor Layanan berisi AZURE_SQL_CONNECTIONSTRING, yang merupakan string koneksi gratis kata sandi ke Azure SQL Database. Lihat nilai sampel dari Autentikasi identitas terkelola yang ditetapkan pengguna untuk informasi selengkapnya.

Memasang Open Liberty Operator

Di bagian ini, Anda menginstal Operator Open Liberty pada kluster AKS untuk menghosting aplikasi Liberty.

Instal Operator Open Liberty dengan menjalankan perintah berikut:

# Install cert-manager Operator
CERT_MANAGER_VERSION=v1.11.2
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/${CERT_MANAGER_VERSION}/cert-manager.yaml

# Install Open Liberty Operator
export OPERATOR_VERSION=1.4.0
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

Mengonfigurasi dan membuat gambar aplikasi

Untuk menyebarkan dan menjalankan aplikasi Liberty Anda di kluster AKS, jadikan aplikasi Anda sebagai citra Docker menggunakan citra kontainer Open Liberty atau citra kontainer WebSphere Liberty.

Ikuti langkah-langkah dalam bagian ini untuk menyebarkan aplikasi sampel pada runtime Liberty. Langkah-langkah ini menggunakan Maven.

Lihat aplikasinya

Kloning kode sampel untuk panduan ini. Sampelnya ada di GitHub. Terdapat beberapa sampel di repositori. Artikel ini menggunakan java-app sampel. File penting ditampilkan berikutnya.

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

Jika Anda melihat pesan tentang berada dalam status "HEAD yang terlepas", pesan ini aman untuk diabaikan. Ini hanya berarti Anda memeriksa tag.

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

Direktori java, resources, dan webapp berisi kode sumber dari contoh aplikasi. Kode mendeklarasikan dan menggunakan sumber data bernama jdbc/JavaEECafeDB.

Dalam direktori aks, file openlibertyapplication-passwordless-db.yaml digunakan untuk menyebarkan gambar aplikasi. Di direktori docker, ada dua file untuk membuat gambar aplikasi dengan Open Liberty atau WebSphere Liberty.

Dalam liberty/config direktori, server.xml digunakan untuk mengonfigurasi koneksi database untuk kluster Open Liberty dan WebSphere Liberty. Ini menentukan variabel azure.sql.connectionstring yang digunakan untuk menyambungkan ke Azure SQL Database.

File pom.xml adalah file model objek proyek Maven (POM) yang berisi informasi konfigurasi untuk proyek. File pom-azure-identity.xml mendeklarasikan azure-identity dependensi, yang digunakan untuk mengautentikasi ke layanan Azure menggunakan ID Microsoft Entra.

Catatan

Sampel ini menggunakan azure-identity pustaka untuk mengautentikasi ke Azure SQL Database menggunakan authencitation Microsoft Entra, yang direkomendasikan untuk pertimbangan keamanan. Jika Anda perlu menggunakan autentikasi SQL di aplikasi Liberty Anda, lihat Koneksi database relasional dengan JDBC untuk informasi selengkapnya.

Membangun proyek

Setelah mengumpulkan properti yang diperlukan, Anda dapat membangun aplikasi. File POM untuk proyek membaca banyak variabel dari lingkungan. Sebagai bagian dari build Maven, variabel ini digunakan untuk mengisi nilai dalam file YAML yang terletak di src/main/aks. Anda dapat melakukan sesuatu yang serupa untuk aplikasi Anda di luar Maven jika mau.

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

Uji proyek Anda secara lokal

Anda sekarang dapat menjalankan dan menguji proyek secara lokal sebelum menyebarkan ke Azure. Untuk kenyamanan, gunakan liberty-maven-plugin. Untuk mempelajari lebih lanjut tentang liberty-maven-plugin, lihat Membangun aplikasi web dengan Maven. Untuk aplikasi Anda, Anda dapat melakukan sesuatu yang serupa menggunakan mekanisme lain seperti IDE lokal Anda. Anda juga dapat mempertimbangkan untuk menggunakan opsi yang liberty:devc ditujukan untuk pengembangan dengan kontainer. Anda dapat membaca lebih lanjut tentang liberty:devc di dokumen Liberty.

Catatan

Jika Anda memilih penyebaran database "tanpa server", verifikasi bahwa database SQL Anda belum memasuki mode jeda. Salah satu cara untuk melakukan ini adalah dengan masuk ke editor kueri database seperti yang dijelaskan dalam Mulai Cepat: Gunakan editor kueri portal Azure (pratinjau) untuk mengkueri Azure SQL Database.

  1. Mulai aplikasi menggunakan liberty:run.

    cd $BASE_DIR/java-app
    
    # The value of environment variable AZURE_SQL_CONNECTIONSTRING is read by configuration variable `azure.sql.connectionstring` in server.xml
    export AZURE_SQL_CONNECTIONSTRING="jdbc:sqlserver://$SQL_SERVER_NAME.database.windows.net:1433;databaseName=$DB_NAME;authentication=ActiveDirectoryDefault"
    mvn liberty:run
    
  2. Verifikasi aplikasi berfungsi seperti yang diharapkan. Anda akan melihat pesan yang serupa dengan [INFO] [AUDIT] CWWKZ0003I: The application javaee-cafe updated in 1.930 seconds. di output perintah jika berhasil. Buka http://localhost:9080/ di browser Anda untuk memverifikasi aplikasi dapat diakses dan semua fungsi berfungsi.

  3. Tekan Ctrl+C untuk menghentikan. Pilih Y jika Anda di-aks untuk mengakhiri pekerjaan batch.

Setelah selesai, hapus aturan firewall yang memungkinkan alamat IP lokal Anda mengakses Azure SQL Database dengan menggunakan perintah berikut:

az sql server firewall-rule delete \
    --resource-group $RESOURCE_GROUP_NAME \
    --server $SQL_SERVER_NAME \
    --name AllowLocalIP

Membangun gambar untuk penyebaran AKS

Anda sekarang dapat menjalankan perintah az acr build untuk membangun gambar, seperti yang ditunjukkan dalam contoh berikut:

cd $BASE_DIR/java-app/target

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

az acr build Perintah mengunggah artefak yang ditentukan dalam Dockerfile ke instans Container Registry, membangun gambar, dan menyimpannya dalam instans Container Registry.

Menyebarkan aplikasi ke kluster AKS

Gunakan langkah-langkah berikut untuk menyebarkan aplikasi Liberty pada kluster AKS:

  1. Terapkan file penyebaran dengan menjalankan perintah berikut:

    cd $BASE_DIR/java-app/target
    
    # Apply deployment file
    kubectl apply -f openlibertyapplication-passwordless-db.yaml
    
  2. Tentukan OpenLibertyApplication apakah instans dibuat dengan menjalankan perintah berikut:

    kubectl get openlibertyapplication javaee-cafe-cluster
    

    Anda harus melihat output yang mirip dengan berikut ini:

    NAME                  IMAGE                                        EXPOSED   RECONCILED   RESOURCESREADY   READY   WARNING   AGE
    javaee-cafe-cluster   jiangma102924acr.azurecr.io/javaee-cafe:v1             True         True             True              57s
    
  3. Tentukan apakah penyebaran yang dibuat oleh Operator siap dengan menjalankan perintah berikut:

    kubectl get deployment javaee-cafe-cluster --watch
    

    Anda harus melihat output yang mirip dengan berikut ini:

    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    javaee-cafe-cluster         0/3     3            0           20s
    
  4. Tunggu hingga Anda melihat 3/3 di bawah READY kolom dan 3 di bawah AVAILABLE kolom, lalu gunakan Ctrl+C untuk menghentikan kubectl proses pengawasan.

Uji aplikasi

Ketika aplikasi berjalan, layanan penyeimbang Kubernetes memperlihatkan front-end aplikasi ke internet. Proses ini bisa memakan waktu cukup lama.

Untuk memantau kemajuan, gunakan perintah kubectl get service dengan --watch argumen , seperti yang ditunjukkan dalam contoh berikut:

kubectl get service javaee-cafe-cluster --watch

Anda harus melihat output yang mirip dengan berikut ini:

NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)          AGE
javaee-cafe-cluster         LoadBalancer   10.0.251.169   52.152.189.57   80:31732/TCP     68s

Setelah alamat EXTERNAL-IP berubah dari tertunda ke alamat IP publik aktual, gunakan Ctrl+C untuk menghentikan kubectl proses tontonan.

Jika beberapa waktu berlalu antara menjalankan langkah-langkah di bagian ini dan yang sebelumnya, pastikan database aktif, jika perlu. Lihat catatan sebelumnya mengenai jeda database.

Buka browser web ke alamat IP eksternal layanan Anda ( 52.152.189.57 pada contoh di atas) untuk melihat halaman beranda aplikasi. Jika halaman tidak dimuat dengan benar, itu karena aplikasi dimulai. Anda dapat menunggu beberapa saat dan menyegarkan halaman nanti. Anda akan melihat nama Pod dari replika aplikasi Anda yang ditampilkan di kiri atas halaman. Tunggu beberapa menit dan refresh halaman untuk melihat nama Pod yang berbeda yang ditampilkan karena penyeimbang muatan yang disediakan oleh kluster AKS.

Aplikasi Java liberty berhasil disebarkan di AKS.

Catatan

Saat ini, aplikasi tidak menggunakan HTTPS. Kami menyarankan agar Anda mengaktifkan TLS dengan sertifikat Anda sendiri. Untuk informasi selengkapnya, lihat Menggunakan TLS dengan pengontrol ingress di Azure Kubernetes Service (AKS).

Membersihkan sumber daya

Untuk menghindari biaya Azure, Anda harus membersihkan sumber daya yang tidak diperlukan. Ketika kluster tidak lagi diperlukan, gunakan perintah az group delete untuk menghapus grup sumber daya, layanan kontainer, registri kontainer, database, dan semua sumber daya terkait.

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

Langkah berikutnya

Anda dapat mempelajari selengkapnya dari referensi yang digunakan dalam panduan ini:

Untuk menggabungkan Azure Cache for Redis ke dalam aplikasi Java, lihat Menggunakan Azure Cache for Redis di Java dengan klien Redisson Redis.

Untuk menjelajahi opsi untuk menjalankan produk WebSphere di Azure, lihat Apa solusi untuk menjalankan keluarga produk WebSphere di Azure?