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 Azure CLI 2.61.0 atau lebih tinggi untuk menjalankan perintah Azure CLI.
- Masuk dengan Azure CLI dengan menggunakan perintah az login . Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Lihat Masuk ke Azure dengan Azure CLI untuk opsi masuk lainnya.
- Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan dan mengelola ekstensi dengan Azure CLI.
- Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
- 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 atauContributor
peran danUser 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:
Dari bagian yang disorot dalam sampel YAML penyebaran Kubernetes, salin
serviceAccountName
nilai dansecretRef.name
, seperti yang ditunjukkan dalam contoh berikut:serviceAccountName: <service-account-name> containers: - name: raw-linux envFrom: - secretRef: name: <secret-name>
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.
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
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. Bukahttp://localhost:9080/
di browser Anda untuk memverifikasi aplikasi dapat diakses dan semua fungsi berfungsi.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:
Terapkan file penyebaran dengan menjalankan perintah berikut:
cd $BASE_DIR/java-app/target # Apply deployment file kubectl apply -f openlibertyapplication-passwordless-db.yaml
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
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
Tunggu hingga Anda melihat
3/3
di bawahREADY
kolom dan3
di bawahAVAILABLE
kolom, lalu gunakan Ctrl+C untuk menghentikankubectl
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.
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:
- Azure Kubernetes Service
- Tutorial: Menyambungkan aplikasi AKS ke Azure SQL Database (pratinjau)
- Mengintegrasikan Azure SQL Database dengan Konektor Layanan
- Menyambungkan menggunakan autentikasi Microsoft Entra
- Open Liberty
- Open Liberty Operator
- Konfigurasi Server Open Liberty
- Plugin Liberty Maven
- Gambar Kontainer Open Liberty
- Gambar Kontainer WebSphere Liberty
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?