Tutorial: Menyambungkan ke Eureka Server for Spring terkelola di Azure Container Apps (pratinjau)
Eureka Server for Spring adalah registri layanan yang memungkinkan layanan mikro mendaftarkan diri mereka dan menemukan layanan lain. Tersedia sebagai komponen Azure Container Apps, Anda dapat mengikat aplikasi kontainer Anda ke Eureka Server for Spring untuk pendaftaran otomatis dengan server Eureka.
Dalam tutorial ini, Anda mempelajari caranya:
- Membuat komponen Eureka Server for Spring Java
- Mengikat aplikasi kontainer Anda ke Eureka Server untuk komponen Spring Java
Penting
Tutorial ini menggunakan layanan yang dapat memengaruhi tagihan Azure Anda. Jika Anda memutuskan untuk mengikuti langkah demi langkah, pastikan Anda menghapus sumber daya yang ditampilkan dalam artikel ini untuk menghindari penagihan yang tidak terduga.
Prasyarat
Untuk menyelesaikan proyek ini, Anda memerlukan item berikut:
Persyaratan | Petunjuk |
---|---|
Akun Azure | Langganan aktif diperlukan. Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis. |
Azure CLI | Instal Azure CLI. |
Pertimbangan
Saat berjalan di Eureka Server for Spring di Azure Container Apps, ketahui detail berikut:
Item | Penjelasan |
---|---|
Cakupan | Komponen Eureka Server for Spring berjalan di lingkungan yang sama dengan aplikasi kontainer yang terhubung. |
Penskalaan | Server Eureka untuk Spring tidak dapat menskalakan. Properti minReplicas penskalakan dan maxReplicas keduanya diatur ke 1 . |
Sumber | Alokasi sumber daya kontainer untuk Eureka Server untuk Spring diperbaiki. Jumlah inti CPU adalah 0,5, dan ukuran memorinya adalah 1Gi. |
Harga | Eureka Server untuk penagihan Spring berada di bawah harga berbasis konsumsi. Sumber daya yang digunakan oleh komponen Java terkelola ditagih dengan tarif aktif/diam. Anda dapat menghapus komponen yang tidak lagi digunakan untuk menghentikan penagihan. |
Pengikatan | Aplikasi kontainer terhubung ke komponen Eureka Server for Spring 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 Server Eureka untuk Spring. |
Siapkan
Sebelum Anda mulai bekerja dengan Eureka Server untuk Spring, Anda harus terlebih dahulu membuat sumber daya yang diperlukan.
Jalankan perintah berikut untuk membuat grup sumber daya, lingkungan aplikasi kontainer Anda.
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 APP_NAME=sample-service-eureka-client export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest"
Variabel Deskripsi LOCATION
Lokasi wilayah Azure tempat Anda membuat aplikasi kontainer dan komponen Java. ENVIRONMENT
Nama lingkungan Azure Container Apps untuk aplikasi demo Anda. RESOURCE_GROUP
Nama grup sumber daya Azure untuk aplikasi demo Anda. EUREKA_COMPONENT_NAME
Nama komponen Java yang dibuat untuk aplikasi kontainer Anda. Dalam hal ini, Anda membuat komponen Eureka Server for Spring Java. IMAGE
Gambar kontainer yang digunakan di aplikasi kontainer 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
Membuat komponen Eureka Server for Spring Java
Setelah memiliki lingkungan yang ada, Anda dapat membuat aplikasi kontainer dan mengikatnya ke instans komponen Java Eureka Server untuk Spring.
Buat komponen Eureka Server for Spring Java.
az containerapp env java-component eureka-server-for-spring create \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME
Opsional: Perbarui konfigurasi komponen Eureka Server for Spring Java.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME --configuration eureka.server.renewal-percent-threshold=0.85 eureka.server.eviction-interval-timer-in-ms=10000
Mengikat aplikasi kontainer Anda ke komponen Eureka Server for Spring Java
Buat aplikasi kontainer dan ikat ke Server Eureka untuk Spring.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --image $IMAGE \ --min-replicas 1 \ --max-replicas 1 \ --ingress external \ --target-port 8080 \ --bind $EUREKA_COMPONENT_NAME \ --query properties.configuration.ingress.fqdn
Perintah ini mengembalikan URL aplikasi kontainer Anda yang menggunakan register dengan komponen server Eureka. Salin URL ke editor teks sehingga Anda dapat menggunakannya dalam langkah mendatang.
Navigasi atas
/allRegistrationStatus
tampilan rute semua aplikasi yang terdaftar di Eureka Server untuk Spring.Pengikatan menyuntikkan beberapa konfigurasi ke dalam aplikasi sebagai variabel lingkungan, terutama
eureka.client.service-url.defaultZone
properti . Properti ini menunjukkan titik akhir internal komponen Eureka Server Java.Pengikatan juga menyuntikkan properti berikut:
"eureka.client.register-with-eureka": "true" "eureka.instance.prefer-ip-address": "true"
eureka.client.register-with-eureka
Properti diatur ketrue
untuk memberlakukan pendaftaran dengan server Eureka. Pendaftaran ini menimpa pengaturan lokal diapplication.properties
, dari server konfigurasi dan sebagainya. Jika Anda ingin mengaturnya kefalse
, Anda dapat menimpanya dengan mengatur variabel lingkungan di aplikasi kontainer Anda.eureka.instance.prefer-ip-address
diatur ketrue
karena aturan resolusi DNS tertentu di lingkungan aplikasi kontainer. Jangan ubah nilai ini agar Anda tidak memutus pengikatan.Anda juga dapat menghapus pengikatan dari aplikasi Anda.
Menampilkan aplikasi melalui 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": "<YOUR_ROLE_NAME>", "IsCustom": true, "Description": "Can access managed Java Component dashboards in managed environments", "Actions": [ "Microsoft.App/managedEnvironments/write" ], "AssignableScopes": ["/subscriptions/<SUBSCRIPTION_ID>"] }'
Pastikan untuk mengganti tempat penampung di antara tanda
<>
kurung 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 -o tsv)
Tetapkan peran ke akun Anda.
Sebelum menjalankan perintah ini, ganti tempat penampung di antara tanda
<>
kurung dengan ID pengguna atau perwakilan layanan Anda.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "<ROLE_NAME>" \ --scope $ENVIRONMENT_ID
Catatan
<> USER_OR_SERVICE_PRINCIPAL_ID biasanya harus menjadi identitas yang Anda gunakan untuk mengakses Portal Microsoft Azure. <> ROLE_NAME adalah nama yang Anda tetapkan di langkah 1.
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 -o 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.
Opsional: Mengintegrasikan Server Eureka untuk Spring dan Admin untuk komponen Spring Java
Jika Anda ingin mengintegrasikan Server Eureka untuk Spring dan Admin untuk komponen Spring Java, lihat Mengintegrasikan Admin terkelola untuk Spring dengan Eureka Server untuk Spring.
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
Langkah berikutnya
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk