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.
Dalam tutorial ini, Anda mencari tahu cara membuat layanan Eureka yang dirancang untuk tetap beroperasi dalam menghadapi kegagalan dan permintaan tinggi. Membangun layanan Eureka yang sangat tersedia membantu memastikan registri layanan yang Anda gunakan untuk Azure Container Apps selalu tersedia untuk klien terlepas dari permintaan.
Mencapai status ketersediaan tinggi untuk Eureka termasuk menautkan beberapa instans server Eureka bersama-sama sehingga membentuk kluster. Kluster menyediakan sumber daya sehingga jika satu server Eureka gagal, layanan lain tetap tersedia untuk permintaan.
Di tutorial ini, Anda akan:
- Buat server Eureka untuk komponen Spring.
- Ikat dua server Eureka untuk komponen Spring bersama-sama ke dalam kluster.
- Ikat aplikasi kontainer ke kedua server Eureka untuk penemuan layanan dengan ketersediaan tinggi.
Prasyarat
- Akun Azure dengan langganan aktif. Jika Anda belum memilikinya, Anda dapat membuatnya secara gratis.
- Azure CLI.
Pertimbangan
Saat Anda menjalankan komponen Java terkelola di 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 GB. |
| Harga | Penagihan komponen berada di bawah harga berbasis konsumsi. Sumber daya yang digunakan oleh komponen terkelola ditagih dengan tarif aktif atau diam, tergantung pada penggunaan sumber daya. 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. |
Menyiapkan sumber daya awal
Gunakan langkah-langkah berikut untuk membuat beberapa sumber daya yang Anda butuhkan untuk kluster layanan Eureka Anda.
Buat variabel yang menyimpan nilai konfigurasi aplikasi.
export LOCATION=eastus export RESOURCE_GROUP=my-services-resource-group export ENVIRONMENT=my-environment export EUREKA_COMPONENT_FIRST=eureka01 export EUREKA_COMPONENT_SECOND=eureka02 export APP_NAME=sample-service-eureka-client export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest"Gunakan Azure CLI untuk masuk ke Azure.
az loginBuat grup sumber daya.
az group create --name $RESOURCE_GROUP --location $LOCATIONBuat lingkungan Aplikasi Kontainer Anda.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
Membuat server untuk kluster
Buat dua komponen Eureka Server for Spring.
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_FIRST
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_SECOND
Mengikat komponen bersama-sama untuk membentuk kluster
Agar server Eureka berfungsi dalam konfigurasi ketersediaan tinggi, server tersebut perlu ditautkan bersama sebagai kluster.
Ikat server Eureka pertama ke server kedua.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_FIRST \ --bind $EUREKA_COMPONENT_SECONDIkat server Eureka kedua ke server pertama.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_SECOND \ --bind $EUREKA_COMPONENT_FIRST
Menyebarkan dan mengikat aplikasi
Dengan komponen server yang ditautkan bersama-sama, Anda dapat membuat aplikasi kontainer dan mengikatnya ke dua komponen Eureka.
Buat aplikasi kontainer.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --image $IMAGE \ --min-replicas 1 \ --max-replicas 1 \ --ingress external \ --target-port 8080Ikat aplikasi kontainer ke komponen server Eureka pertama.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind $EUREKA_COMPONENT_FIRSTIkat aplikasi kontainer ke komponen server Eureka kedua.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind $EUREKA_COMPONENT_SECOND
Lihat dasbor
Penting
Untuk melihat dasbor Eureka Server untuk Spring, Anda harus memiliki peran Microsoft.App/managedEnvironments/write, Owner, atau Contributor yang ditetapkan ke akun Anda untuk sumber daya lingkungan Container Apps.
- Jika Anda sudah memiliki salah satu peran ini, lewati ke bagian Dapatkan URL dasbor untuk mendapatkan URL dan melihat dasbor.
- Jika Anda ingin membuat definisi peran kustom dan menetapkannya ke akun Anda, lakukan langkah-langkah di bagian berikut, Buat dan tetapkan peran kustom.
- Jika Anda ingin menetapkan akun Anda peran
OwneratauContributoruntuk sumber daya, lakukan penugasan tersebut, lalu lewati ke bagian Dapatkan URL dasbor.
Buat dan tetapkan peran khusus
Buat definisi peran kustom. Sebelum Anda menjalankan perintah ini, ganti tempat penampung dalam
AssignableScopesnilai dengan ID langganan Anda.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>"] }'Dapatkan ID sumber daya dari lingkungan Container Apps.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)Tetapkan peran kustom ke akun Anda untuk sumber daya lingkungan Container Apps. Sebelum Anda menjalankan perintah ini, ganti placeholder dalam nilai
assigneedengan ID objek pengguna atau ID principal layanan Anda.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_ID
Dapatkan URL dasbor
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_FIRST \
--query properties.ingress.fqdn \
--output tsv
Perintah ini mengembalikan URL yang dapat Anda gunakan untuk mengakses dasbor Eureka Server for Spring. Melalui dasbor, Anda dapat memverifikasi bahwa penyiapan server Eureka terdiri dari dua replika.
Membersihkan sumber daya
Sumber daya yang dibuat dalam tutorial ini memengaruhi tagihan Azure Anda. Jika Anda tidak akan menggunakan layanan ini dalam jangka panjang, jalankan perintah berikut untuk menghapus semuanya yang dibuat dalam tutorial ini.
az group delete --resource-group $RESOURCE_GROUP