Tutorial: Mengintegrasikan Admin untuk Spring dengan Eureka Server untuk Spring di Azure Container Apps
Tutorial ini memandu Anda melalui proses mengintegrasikan Admin terkelola untuk Spring dengan Eureka Server for Spring dalam Azure Container Apps.
Artikel ini berisi beberapa konten yang mirip dengan tutorial "Sambungkan ke Admin terkelola untuk Spring di Azure Container Apps", tetapi dengan Eureka Server untuk Spring, Anda dapat mengikat Admin untuk Spring ke Eureka Server untuk Spring, sehingga bisa mendapatkan informasi aplikasi melalui Eureka, alih-alih harus mengikat aplikasi individual ke Admin untuk Spring.
Dengan mengikuti panduan ini, Anda menyiapkan Eureka Server untuk penemuan layanan lalu membuat Admin untuk Spring untuk mengelola dan memantau aplikasi Spring Anda yang terdaftar di Eureka Server. Penyiapan ini memastikan bahwa aplikasi lain hanya perlu mengikat Eureka Server, menyederhanakan manajemen layanan mikro Anda.
Dalam tutorial ini, Anda mempelajari caranya:
- Buat Eureka Server untuk Spring.
- Buat Admin untuk Spring dan tautkan ke Eureka Server.
- Ikat aplikasi lain ke Eureka Server untuk penemuan dan manajemen layanan yang disederhanakan.
Prasyarat
- Akun Azure dengan langganan aktif. Jika Anda belum memilikinya, Anda dapat membuatnya secara gratis.
- Azure CLI.
- Komponen Eureka Server for Spring Java yang ada. Jika Anda tidak memilikinya, lihat Membuat Server Eureka untuk Spring.
Pertimbangan
Saat menjalankan komponen Java terkelola di Azure Container Apps, ketahui detail berikut:
Item | Penjelasan |
---|---|
Cakupan | Komponen berjalan di lingkungan yang sama dengan aplikasi kontainer yang terhubung. |
Penskalaan | Komponen tidak dapat menskalakan. Properti minReplicas penskalakan dan maxReplicas keduanya diatur ke 1 . |
Sumber | Alokasi sumber daya kontainer untuk komponen diperbaiki. Jumlah inti CPU adalah 0,5, dan ukuran memorinya adalah 1 Gi. |
Harga | Penagihan komponen berada di bawah harga berbasis konsumsi. Sumber daya yang digunakan oleh komponen terkelola ditagih dengan tarif aktif/diam. Anda dapat menghapus komponen yang tidak lagi digunakan untuk menghentikan penagihan. |
Pengikatan | Aplikasi kontainer terhubung ke komponen melalui pengikatan. Pengikatan menyuntikkan konfigurasi ke dalam variabel lingkungan aplikasi kontainer. Setelah pengikatan dibuat, aplikasi kontainer dapat membaca nilai konfigurasi dari variabel lingkungan dan terhubung ke komponen. |
Siapkan
Sebelum memulai, buat sumber daya yang diperlukan dengan menjalankan perintah berikut.
Buat variabel untuk mendukung konfigurasi aplikasi Anda. Nilai-nilai ini disediakan untuk Anda untuk tujuan pelajaran ini.
export LOCATION=eastus export RESOURCE_GROUP=my-services-resource-group export ENVIRONMENT=my-environment export EUREKA_COMPONENT_NAME=eureka export ADMIN_COMPONENT_NAME=admin export CLIENT_APP_NAME=sample-service-eureka-client export CLIENT_IMAGE="mcr.microsoft.com/javacomponents/samples/sample-admin-for-spring-client:latest"
Variabel Deskripsi LOCATION
Lokasi wilayah Azure tempat Anda membuat aplikasi kontainer dan komponen Java. RESOURCE_GROUP
Nama grup sumber daya Azure untuk aplikasi demo Anda. ENVIRONMENT
Nama lingkungan Azure Container Apps untuk aplikasi demo Anda. EUREKA_COMPONENT_NAME
Nama komponen Eureka Server Java. ADMIN_COMPONENT_NAME
Nama admin untuk komponen Spring Java. CLIENT_APP_NAME
Nama aplikasi kontainer yang mengikat Eureka Server. CLIENT_IMAGE
Gambar kontainer yang digunakan di aplikasi kontainer Eureka Server Anda. Masuk ke Azure dengan Azure CLI.
az login
Buat grup sumber daya.
az group create --name $RESOURCE_GROUP --location $LOCATION
Buat lingkungan aplikasi kontainer Anda.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"
--query
Menggunakan parameter memfilter respons ke pesan keberhasilan atau kegagalan sederhana.
Opsional: Membuat Server Eureka untuk Spring
Jika Anda tidak memiliki Eureka Server untuk Spring, ikuti perintah di bawah ini untuk membuat komponen Eureka Server Java. Untuk informasi selengkapnya, lihat Membuat Server Eureka untuk Spring.
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_NAME
Mengikat komponen bersama-sama
Buat komponen Admin untuk Spring Java.
az containerapp env java-component admin-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $ADMIN_COMPONENT_NAME \
--min-replicas 1 \
--max-replicas 1 \
--bind $EUREKA_COMPONENT_NAME
Mengikat aplikasi lain ke Eureka Server
Dengan pengaturan Eureka Server, Anda sekarang dapat mengikat aplikasi lain untuk penemuan layanan. Dan Anda juga dapat memantau dan mengelola aplikasi ini di dasbor Admin untuk Spring. Gunakan langkah-langkah berikut untuk membuat dan mengikat aplikasi kontainer ke Eureka Server:
Buat aplikasi kontainer dan ikat ke Eureka Server.
az containerapp create \
--name $CLIENT_APP_NAME \
--resource-group $RESOURCE_GROUP \
--environment $ENVIRONMENT \
--image $CLIENT_IMAGE \
--min-replicas 1 \
--max-replicas 1 \
--ingress external \
--target-port 8080 \
--bind $EUREKA_COMPONENT_NAME
Tip
Karena langkah-langkah sebelumnya mengikat komponen Admin untuk Spring ke komponen Eureka Server for Spring, komponen Admin memungkinkan penemuan layanan dan memungkinkan Anda mengelolanya melalui dasbor Admin untuk Spring secara bersamaan.
Menampilkan dasbor
Penting
Untuk melihat dasbor, Anda harus memiliki setidaknya peran yang Microsoft.App/managedEnvironments/write
ditetapkan ke akun Anda pada sumber daya lingkungan terkelola. Anda dapat secara eksplisit menetapkan Owner
atau Contributor
peran pada sumber daya atau mengikuti langkah-langkah untuk membuat definisi peran kustom dan menetapkannya ke akun Anda.
Buat definisi peran kustom.
az role definition create --role-definition '{ "Name": "Java Component Dashboard Access", "IsCustom": true, "Description": "Can access managed Java Component dashboards in managed environments", "Actions": [ "Microsoft.App/managedEnvironments/write" ], "AssignableScopes": ["/subscriptions/<SUBSCRIPTION_ID>"] }'
Pastikan untuk mengganti
<SUBSCRIPTION_ID>
tempat penampung dalamAssignableScopes
nilai dengan ID langganan Anda.Tetapkan peran kustom ke akun Anda di sumber daya lingkungan terkelola.
Dapatkan ID sumber daya lingkungan terkelola.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)
Tetapkan peran ke akun Anda.
Sebelum menjalankan perintah ini, ganti
<USER_OR_SERVICE_PRINCIPAL_ID>
tempat penampung dengan ID pengguna atau perwakilan layanan Anda.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_ID
Dapatkan URL dasbor Admin untuk Spring.
az containerapp env java-component admin-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_COMPONENT_NAME \ --query properties.ingress.fqdn \ --output tsv
Dapatkan URL dasbor Eureka Server for Spring.
az containerapp env java-component eureka-server-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --query properties.ingress.fqdn \ --output tsv
Perintah ini mengembalikan URL yang dapat Anda gunakan untuk mengakses dasbor Eureka Server for Spring. Melalui dasbor, aplikasi kontainer Anda juga ditunjukkan pada cuplikan layar berikut.
Membersihkan sumber daya
Sumber daya yang dibuat dalam tutorial ini berpengaruh pada tagihan Azure Anda. Jika Anda tidak akan menggunakan layanan ini dalam jangka panjang, jalankan perintah berikut untuk menghapus semua yang dibuat dalam tutorial ini.
az group delete --resource-group $RESOURCE_GROUP