Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menunjukkan cara untuk:
- Jalankan aplikasi Java, Java EE, Jakarta EE, atau MicroProfile Anda pada runtime Open Liberty atau IBM WebSphere Liberty .
- Buat image Docker aplikasi dengan
az acr buildmenggunakan image kontainer Open Liberty atau WebSphere Liberty. - Sebarkan aplikasi dalam kontainer ke kluster Azure Kubernetes Service (AKS) dengan menggunakan Operator Open Liberty atau Operator WebSphere Liberty.
Open Liberty Operator menyederhanakan penyebaran dan pengelolaan aplikasi yang berjalan pada kluster Kube. Dengan Open Liberty Operator atau WebSphere Liberty Operator, Anda juga dapat melakukan operasi yang lebih lanjutan, seperti mengumpulkan trace dan dump.
Artikel ini menggunakan penawaran Marketplace Azure untuk Open Liberty atau WebSphere Liberty untuk mempercepat perjalanan Anda ke AKS. Penawaran ini secara otomatis menyediakan beberapa sumber daya Azure, termasuk:
- Sebuah instans Azure Container Registry.
- Kluster AKS.
- Sebuah instans Application Gateway Ingress Controller (AGIC).
- Operator Open Liberty dan Operator WebSphere Liberty.
- Secara opsional, gambar kontainer yang mencakup Liberty dan aplikasi Anda.
Jika Anda lebih suka panduan langkah demi langkah manual untuk menjalankan Liberty di AKS, lihat Menyebarkan aplikasi Java secara manual dengan Open Liberty atau WebSphere Liberty pada kluster Azure Kubernetes Service (AKS).
Artikel ini bertujuan membantu Anda memulai proses deployment dengan cepat. Sebelum pergi ke produksi, Anda harus menjelajahi dokumentasi IBM tentang penyetelan 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.
Penting
Mulai 30 November 2025, Azure Kubernetes Service (AKS) tidak lagi mendukung atau menyediakan pembaruan keamanan untuk Azure Linux 2.0. Gambar node Azure Linux 2.0 dibekukan pada rilis 202512.06.0. Mulai tanggal 31 Maret 2026, gambar simpul akan dihapus, dan Anda tidak akan dapat menskalakan kumpulan simpul Anda. Migrasikan ke versi Linux Azure yang didukung dengan meningkatkan kumpulan simpul Anda ke versi Kubernetes yang didukung atau bermigrasi ke osSku AzureLinux3. Untuk informasi selengkapnya, lihat masalah Penghentian GitHub dan pengumuman penghentian Pembaruan Azure. Untuk tetap mendapatkan informasi tentang pengumuman dan pembaruan, ikuti catatan rilis AKS.
Prasyarat
- Langganan Azure. Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
- Siapkan komputer lokal dengan sistem operasi seperti Unix yang terinstal - misalnya, Ubuntu, Azure Linux, macOS, atau Subsistem Windows untuk Linux.
-
Instal Azure CLI untuk menjalankan perintah Azure CLI.
- Masuk ke Azure CLI dengan menggunakan
az loginperintah . Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk ke Azure dengan Azure CLI. - Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan dan mengelola ekstensi dengan Azure CLI.
- Jalankan
az versionuntuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankanaz upgrade. Artikel ini memerlukan setidaknya Azure CLI versi 2.61.0.
- Masuk ke Azure CLI dengan menggunakan
- Instal implementasi Java Standard Edition (SE), versi 17 (misalnya, Eclipse Open J9).
- Instal Maven 3.9.8 atau yang lebih tinggi.
- Pastikan Git diinstal.
- Pastikan Anda ditetapkan ke peran
Owneratau ke peranContributordanUser Access Administratorpada langganan tersebut. Anda dapat memverifikasinya dengan mengikuti langkah-langkah dalam Mencantumkan penetapan peran untuk pengguna atau grup.
Buat deployment Liberty di AKS melalui portal
Langkah-langkah berikut ini memandu Anda membuat runtime Liberty di AKS. Setelah menyelesaikan langkah-langkah ini, Anda akan memiliki instans Container Registry dan kluster AKS untuk menyebarkan aplikasi kontainer Anda.
Buka portal Azure. Di kotak pencarian di bagian atas halaman, masukkan WebSphere Liberty/Open Liberty di Kubernetes. Saat saran muncul, pilih satu-satunya hasil yang cocok di bagian Marketplace.
Jika mau, Anda dapat langsung membuka penawaran.
Pilih Buat.
Pada panel Dasar :
- Membuat grup sumber daya baru. Karena grup sumber daya harus unik dalam langganan, pilih nama unik. Cara mudah untuk memiliki nama unik adalah dengan menggunakan kombinasi inisial Anda, tanggal hari ini, dan beberapa pengidentifikasi (misalnya,
ejb0913-java-liberty-project-rg). Simpan nama grup sumber daya tersebut untuk digunakan nanti dalam artikel ini. - Untuk Wilayah, pilih wilayah yang dekat dengan Anda. Misalnya, pilih US Timur 2.
- Membuat grup sumber daya baru. Karena grup sumber daya harus unik dalam langganan, pilih nama unik. Cara mudah untuk memiliki nama unik adalah dengan menggunakan kombinasi inisial Anda, tanggal hari ini, dan beberapa pengidentifikasi (misalnya,
Pilih Selanjutnya. Pada panel AKS, Anda dapat memilih cluster AKS dan instans Container Registry yang sudah ada secara opsional, alih-alih membiarkan proses deployment membuat yang baru. Pilihan ini memungkinkan Anda menggunakan pola sidecar, seperti yang ditunjukkan dalam Azure Architecture Center. Anda juga dapat menyesuaikan pengaturan untuk ukuran dan jumlah mesin virtual di kumpulan node AKS.
Untuk tujuan artikel ini, simpan saja semua default di panel ini.
Pilih Selanjutnya. Pada panel Load Balancing , di samping Sambungkan ke Azure Application Gateway?, pilih Ya. Di bagian ini, Anda dapat mengkustomisasi opsi penyebaran berikut:
Untuk Jaringan virtual dan Subnet, Anda dapat secara opsional menyesuaikan jaringan virtual dan subnet tempat penyebaran menempatkan sumber daya. Anda tidak perlu mengubah nilai lainnya dari nilai bawaannya.
Untuk sertifikat TLS/SSL, Anda dapat memberikan sertifikat TLS/SSL dari Azure Application Gateway. Biarkan nilainya pada nilai default agar penawaran menghasilkan sertifikat yang ditandatangani sendiri.
Jangan gunakan sertifikat swa-tanda tangan di lingkungan produksi. Untuk informasi selengkapnya mengenai sertifikat yang ditandatangani sendiri, lihat Membuat sertifikat publik yang ditandatangani sendiri untuk mengautentikasi aplikasi Anda.
Anda dapat memilih Aktifkan afinitas berbasis cookie, yang juga dikenal sebagai sesi tetap. Artikel ini menggunakan sticky sessions, jadi pastikan Anda memilih opsi ini.
Pilih Selanjutnya. Pada panel Operator dan aplikasi , artikel ini menggunakan semua default. Namun, Anda dapat menyesuaikan opsi penyebaran berikut:
- Anda dapat menyebarkan Operator WebSphere Liberty dengan memilih Ya untuk opsi yang didukung IBM?. Membiarkan opsi bawaan No akan menerapkan Open Liberty Operator.
- Anda dapat menyebarkan aplikasi untuk operator yang Anda pilih dengan memilih Ya untuk opsi Sebarkan aplikasi?. Membiarkan opsi bawaan Tidak tidak akan men-deploy aplikasi apa pun.
Pilih Tinjau + buat untuk memvalidasi opsi pilihan Anda. Pada panel Tinjau + buat , saat Anda melihat Buat tersedia setelah validasi lolos, pilih.
Penerapan dapat memakan waktu hingga 20 menit. Sambil menunggu penyebaran selesai, Anda dapat mengikuti langkah-langkah di bagian Membuat instans Azure SQL Database. Setelah Anda menyelesaikan bagian itu, kembali ke sini dan melanjutkan.
Mengambil informasi yang dipilih dari penyebaran
Jika Anda menjauh dari panel Penyebaran sedang berlangsung , langkah-langkah berikut menunjukkan kepada Anda cara kembali ke panel tersebut. Jika Anda masih berada di panel yang memperlihatkan Penyebaran Anda selesai, buka grup sumber daya yang baru dibuat dan lewati ke langkah ketiga.
Di sudut halaman portal mana pun, pilih tombol menu, lalu pilih Grup sumber daya.
Dalam kotak dengan teks Filter untuk semua bidang, masukkan beberapa karakter awal dari grup sumber daya yang sebelumnya Anda buat. Jika Anda mengikuti konvensi yang direkomendasikan, masukkan inisial Anda, lalu pilih grup sumber daya yang sesuai.
Di dalam daftar sumber daya pada grup sumber daya, pilih sumber daya dengan nilai TypeContainer registry.
Pada panel navigasi, di bawah Pengaturan, pilih Tombol akses.
Catat nilai untuk nama registri dan server login. Anda dapat menggunakan ikon salin di samping setiap bidang untuk menyalin nilai ke clipboard sistem.
Catatan
Artikel ini menggunakan perintah
az acr builduntuk membangun dan mengirim Docker image ke Container Registry, tanpa menggunakanusernamedanpasswordmilik Container Registry. Masih dimungkinkan untuk menggunakan nama pengguna dan kata sandi dengandocker logindandocker push. Menggunakan nama pengguna dan kata sandi kurang aman daripada autentikasi tanpa kata sandi.Kembali ke grup sumber daya tempat Anda menyebarkan sumber daya tersebut.
Di bagian Setelan, pilih Penyebaran.
Pilih penyebaran paling bawah dalam daftar. Nilai Nama deployment sesuai dengan ID penerbit dari penawaran. Ini berisi string
ibm.Pada panel navigasi, pilih Output.
Dengan menggunakan teknik penyalinan yang sama seperti pada nilai-nilai sebelumnya, sisihkan nilai untuk keluaran berikut:
cmdToConnectToClusterappDeploymentTemplateYamljika penyebaran tidak menyertakan aplikasi. Artinya, Anda memilih Tidak untuk Menyebarkan aplikasi? saat Anda menyebarkan penawaran Marketplace. Artikel ini memilih Tidak. Namun, jika Anda memilih Ya, simpan nilaiappDeploymentYamlsecara terpisah, yang mencakup deployment aplikasi.Tempelkan nilai
appDeploymentTemplateYamlatauappDeploymentYamlke shell Bash, dan jalankan perintah .Keluaran dari perintah ini adalah YAML deployment aplikasi. Cari rahasia ingress TLS dengan kata kunci
secretName, seperti- secretName: secret785e2c. Simpan nilaisecretNamesecara terpisah.
Jalankan perintah berikut untuk mengatur variabel lingkungan yang Anda ambil di langkah-langkah sebelumnya. Variabel lingkungan ini digunakan nanti dalam artikel ini.
export RESOURCE_GROUP_NAME=<your-resource-group-name>
export REGISTRY_NAME=<your-registry-nam-of-container-registry>
export LOGIN_SERVER=<your-login-server-of-container-registry>
export INGRESS_TLS_SECRET=<your-ingress-tls-secret-name>
Buat instans 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 account show --query user.name --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
Artikel ini menonaktifkan autentikasi SQL untuk mengilustrasikan praktik terbaik keamanan. ID Microsoft Entra digunakan untuk mengautentikasi koneksi ke server. Jika Anda perlu mengaktifkan autentikasi SQL, lihat az sql server create.
Membuat koneksi layanan di AKS dengan Konektor Layanan
Di bagian ini, Anda membuat koneksi layanan antara kluster AKS dan Azure SQL Database menggunakan ID Beban Kerja Microsoft Entra dengan Konektor Layanan. Koneksi ini memungkinkan kluster AKS mengakses Azure SQL Database tanpa menggunakan autentikasi SQL.
Pertama, beri aplikasi Azure Service Connector Resource Provider izin akses ke Application Gateway yang sebelumnya telah disebarkan. Langkah ini diperlukan untuk berhasil membuat koneksi layanan antara kluster AKS dan Azure SQL Database.
- Buka portal Azure dan navigasi ke grup sumber daya yang Anda buat sebelumnya.
- Pada daftar sumber daya di grup sumber daya, pilih sumber daya dengan nilai JenisApplication gateway.
- Pilih Kontrol Akses (IAM). Kemudian, perluas Tambahkan dan pilih Tambahkan penugasan peran.
- Di tab Peran , pilih Peran administrator istimewa. Lalu, pilih Kontributor. Pilih Selanjutnya.
- Di tab Anggota , pilih Pilih anggota. Kemudian, cari aplikasi Azure Service Connector Resource Provider. Pilih aplikasi dan pilih Pilih. Pilih Selanjutnya.
- Pilih Tinjau + tetapkan. Tunggu beberapa detik hingga penetapan peran selesai.
Kemudian, 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
# 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
Sebaiknya gunakan 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 sebelumnya di bagian ini dan gunakan nama pengguna dan kata sandi untuk menyambungkan ke Azure SQL Database.
Dapatkan akun layanan dan secret yang dibuat oleh Service Connector
Untuk mengautentikasi ke Azure SQL Database, Anda perlu mendapatkan akun layanan dan rahasia yang dibuat oleh Konektor Layanan. Ikuti instruksi di bagian Perbarui kontainer Anda di Tutorial: Menyambungkan aplikasi AKS ke Azure SQL Database. Ambil opsi Buat penyebaran secara langsung menggunakan cuplikan kode sampel YAML yang disediakan dan gunakan langkah-langkah berikut:
Dari bagian yang disorot pada sampel YAML deployment Kubernetes, salin nilai
serviceAccountNamedansecretRef.name, seperti yang ditunjukkan pada contoh berikut:serviceAccountName: <service-account-name> containers: - name: raw-linux envFrom: - secretRef: name: <secret-name>Gunakan perintah berikut untuk menentukan variabel lingkungan. Ganti
<service-account-name>dan<secret-name>dengan nilai yang Anda salin di langkah sebelumnya.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. Untuk informasi selengkapnya, lihat nilai sampel di bagian Autentikasi identitas terkelola yang ditetapkan pengguna di Mengintegrasikan Azure SQL Database dengan Konektor Layanan.
Setelah menyiapkan database dan kluster AKS, Anda dapat melanjutkan untuk menyiapkan AKS untuk menghosting aplikasi Open Liberty Anda.
Konfigurasikan dan sebarkan aplikasi sampel
Ikuti langkah-langkah dalam bagian ini untuk menyebarkan aplikasi sampel pada runtime Liberty. Langkah-langkah ini menggunakan Maven.
Lihat aplikasinya
Klon kode sampel untuk artikel ini. Sampelnya ada di GitHub.
Terdapat beberapa sampel di repositori. Artikel ini menggunakan java-app. Jalankan perintah berikut untuk mendapatkan sampel:
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20241107
Jika Anda melihat pesan bahwa Anda berada dalam status "detached HEAD", Anda dapat mengabaikannya dengan aman. Pesan hanya berarti bahwa Anda memeriksa tag.
Berikut adalah struktur file aplikasi, dengan file dan direktori penting:
java-app
├─ src/main/
│ ├─ aks/
│ │ ├─ openlibertyapplication-agic-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-agic-passwordless-db.yaml digunakan untuk menyebarkan gambar aplikasi dengan AGIC dan koneksi tanpa kata sandi ke Azure SQL Database. Artikel ini mengasumsikan bahwa Anda menggunakan file ini.
Di direktori docker, ada dua file untuk membuat gambar aplikasi dengan Open Liberty atau WebSphere Liberty.
Dalam liberty/config direktori, file 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 dependensi pada azure-identity. File ini digunakan untuk mengautentikasi ke layanan Azure menggunakan ID Microsoft Entra.
Catatan
Contoh ini menggunakan pustaka azure-identity untuk melakukan autentikasi ke Azure SQL Database menggunakan autentikasi Microsoft Entra. Jika Anda perlu menggunakan autentikasi SQL di aplikasi Liberty Anda, lihat Koneksi database relasional dengan JDBC.
Membangun proyek
Sekarang setelah Anda mengumpulkan properti yang diperlukan, buat 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 the target.
export LOGIN_SERVER=${LOGIN_SERVER}
export SC_SERVICE_ACCOUNT_NAME=${SERVICE_ACCOUNT_NAME}
export SC_SECRET_NAME=${SECRET_NAME}
export INGRESS_TLS_SECRET=${INGRESS_TLS_SECRET}
mvn clean install
mvn dependency:copy-dependencies -f pom-azure-identity.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources
Uji proyek Anda secara lokal
Jalankan dan uji proyek secara lokal sebelum menyebarkan ke Azure. Untuk kenyamanan, artikel ini menggunakan liberty-maven-plugin. Untuk mempelajari selengkapnya tentang liberty-maven-plugin, lihat artikel Open Liberty Membangun aplikasi web dengan Maven.
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 dengan 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:runVerifikasi aplikasi berfungsi seperti yang diharapkan. Anda akan melihat pesan yang mirip dengan
[INFO] [AUDIT ] CWWKZ0001I: Application javaee-cafe started in 18.235 seconds.di keluaran perintah.http://localhost:9080/Buka di browser Anda dan verifikasi bahwa aplikasi dapat diakses dan semua fungsi berfungsi.Tekan Ctrl+C untuk menghentikan. Tekan Y jika Anda diminta untuk menghentikan tugas 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
Buat image untuk menerapkan ke AKS
Sekarang Anda dapat menjalankan az acr build perintah 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:
Sambungkan ke kluster AKS.
Tempelkan nilai
cmdToConnectToClusterke dalam shell dan jalankan perintah .Terapkan file penyebaran dengan menjalankan perintah berikut:
cd $BASE_DIR/java-app/target # Apply deployment file kubectl apply -f openlibertyapplication-agic-passwordless-db.yamlTunggu hingga semua pod berhasil dimulai ulang dengan menggunakan perintah berikut:
kubectl get pods --watchKeluaran seperti contoh berikut menunjukkan bahwa semua pod sedang berjalan:
NAME READY STATUS RESTARTS AGE javaee-cafe-cluster-agic-67cdc95bc-2j2gr 1/1 Running 0 29s javaee-cafe-cluster-agic-67cdc95bc-fgtt8 1/1 Running 0 29s javaee-cafe-cluster-agic-67cdc95bc-h47qm 1/1 Running 0 29s
Uji aplikasi
Saat pod berjalan, Anda dapat menguji aplikasi dengan menggunakan alamat IP publik instans Application Gateway.
Jalankan perintah berikut untuk mendapatkan dan menampilkan alamat IP publik instans Application Gateway, yang diekspos oleh sumber daya ingress yang dibuat oleh AGIC:
export APP_URL=https://$(kubectl get ingress | grep javaee-cafe-cluster-agic-ingress | cut -d " " -f14)/
echo $APP_URL
Salin URL dan buka di browser Anda untuk melihat beranda aplikasi. Jika halaman web tidak dimuat dengan benar atau menampilkan error 502 Bad Gateway, aplikasi masih dalam proses memulai di latar belakang. Tunggu beberapa menit, lalu coba lagi.
Membersihkan sumber daya
Untuk menghindari biaya Azure, Anda harus membersihkan sumber daya yang tidak diperlukan. Ketika Anda tidak lagi memerlukan kluster, gunakan az group delete perintah 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 berikut:
- Layanan Azure Kubernetes
- Tutorial: Menyambungkan aplikasi AKS ke Azure SQL Database
- Mengintegrasikan Azure SQL Database dengan Konektor Layanan
- Menyambungkan menggunakan autentikasi Microsoft Entra
- Open Liberty
- Operator Open Liberty
- Konfigurasi server Open Liberty
- Plugin Liberty Maven
- Image Container Open Liberty
- Image Kontainer WebSphere Liberty
Untuk informasi selengkapnya tentang menyebarkan keluarga IBM WebSphere di Azure, lihat Apa solusi untuk menjalankan keluarga produk WebSphere di Azure?.