Mulai cepat: Mem-build dan menyebarkan aplikasi ke Azure Spring Apps menggunakan tingkat Perusahaan
Catatan
Azure Spring Apps adalah nama baru untuk layanan Azure Spring Cloud. Meskipun layanan memiliki nama baru, Anda akan melihat nama lama di beberapa tempat untuk sementara saat kami berupaya memperbarui aset seperti cuplikan layar, video, dan diagram.
Artikel ini berlaku untuk:❌ Tingkat Dasar/Standar ✔️ ️Tingkat Enterprise
Mulai cepat ini menunjukkan kepada Anda cara membuat dan menyebarkan aplikasi ke Azure Spring Apps menggunakan tingkat Enterprise.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun gratis.
- Lisensi untuk tingkat Enterprise Azure Spring Apps. Untuk informasi selengkapnya, lihat Menampilkan Penawaran tingkat Azure Spring Apps Enterprise di Marketplace Azure.
- Azure CLI versi 2.0.67 atau yang lebih tinggi.
- Git.
- jq
- Ekstensi tingkat Enterprise Azure Spring Apps (3.0.0 atau yang lebih baru). Gunakan perintah berikut untuk menghapus versi sebelumnya dan menginstal ekstensi tingkat Enterprise terbaru. Jika sebelumnya Anda menginstal
spring-cloudekstensi, hapus instalannya untuk menghindari ketidakcocokan konfigurasi dan versi.az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
Mengunduh aplikasi sampel
Gunakan perintah berikut untuk mengunduh sampel:
git clone https://github.com/Azure-Samples/acme-fitness-store
cd acme-fitness-store
Menyediakan instans layanan
Gunakan langkah-langkah berikut untuk menyediakan instans layanan Azure Spring Apps.
Gunakan perintah berikut untuk masuk ke Azure CLI dan pilih langganan aktif Anda:
az login az account list --output table az account set --subscription <subscription-ID>Gunakan perintah berikut untuk menerima persyaratan hukum dan pernyataan privasi untuk tingkat Enterprise. Langkah ini diperlukan hanya jika langganan Anda belum pernah digunakan untuk membuat instans tingkat Enterprise dari Azure Spring Apps.
az provider register --namespace Microsoft.SaaS az term accept \ --publisher vmware-inc \ --product azure-spring-cloud-vmware-tanzu-2 \ --plan asa-ent-hr-mtrPilih lokasi. Lokasi ini harus menjadi lokasi yang mendukung tingkat Azure Spring Apps Enterprise. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Azure Spring Apps.
Gunakan perintah berikut ini untuk membuat grup sumber daya:
az group create \ --name <resource-group-name> \ --location <location>Untuk mengetahui informasi lengkap tentang grup sumber daya, lihat Apa itu Azure Resource Manager?.
Siapkan nama untuk instans layanan Aplikasi Azure Spring Anda. Nama harus antara 4 hingga 32 karakter dan hanya boleh berisi huruf kecil, angka, dan tanda hubung. Karakter pertama dari nama layanan harus berupa huruf dan karakter terakhir harus berupa huruf atau angka.
Gunakan perintah berikut untuk membuat instans layanan Azure Spring Apps:
az spring create \ --resource-group <resource-group-name> \ --name <Azure-Spring-Apps-service-instance-name> \ --sku enterprise \ --enable-application-configuration-service \ --enable-service-registry \ --enable-gateway \ --enable-api-portalGunakan perintah berikut untuk membuat Ruang Kerja Analitik Log yang akan digunakan untuk layanan Azure Spring Apps Anda:
az monitor log-analytics workspace create \ --resource-group <resource-group-name> \ --workspace-name <workspace-name> \ --location <location>Gunakan perintah berikut untuk mengambil ID Sumber Daya untuk Ruang Kerja Analitik Log dan instans layanan Azure Spring Apps Anda:
LOG_ANALYTICS_RESOURCE_ID=$(az monitor log-analytics workspace show \ --resource-group <resource-group-name> \ --workspace-name <workspace-name> | jq -r '.id') SPRING_CLOUD_RESOURCE_ID=$(az spring show \ --resource-group <resource-group-name> \ --name <Azure-Spring-Apps-service-instance-name> | jq -r '.id')Gunakan perintah berikut untuk mengonfigurasi pengaturan diagnostik untuk Layanan Azure Spring Apps:
az monitor diagnostic-settings create \ --name "send-logs-and-metrics-to-log-analytics" \ --resource ${SPRING_CLOUD_RESOURCE_ID} \ --workspace ${LOG_ANALYTICS_RESOURCE_ID} \ --logs '[ { "category": "ApplicationConsole", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } }, { "category": "SystemLogs", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } }, { "category": "IngressLogs", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } } ]' \ --metrics '[ { "category": "AllMetrics", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } } ]'Gunakan perintah berikut untuk membuat aplikasi untuk
cart-service, ,order-service,payment-servicecatalog-service, danfrontend:az spring app create \ --resource-group <resource-group-name> \ --name cart-service \ --service <Azure-Spring-Apps-service-instance-name> az spring app create \ --resource-group <resource-group-name> \ --name order-service \ --service <Azure-Spring-Apps-service-instance-name> az spring app create \ --resource-group <resource-group-name> \ --name payment-service \ --service <Azure-Spring-Apps-service-instance-name> az spring app create \ --resource-group <resource-group-name> \ --name catalog-service \ --service <Azure-Spring-Apps-service-instance-name> az spring app create \ --resource-group <resource-group-name> \ --name frontend \ --service <Azure-Spring-Apps-service-instance-name>
Eksternalisasi konfigurasi dengan Layanan Konfigurasi Aplikasi
Gunakan langkah-langkah berikut untuk mengonfigurasi Application Configuration Service.
Gunakan perintah berikut untuk membuat repositori konfigurasi untuk Layanan Konfigurasi Aplikasi:
az spring application-configuration-service git repo add \ --resource-group <resource-group-name> \ --name acme-fitness-store-config \ --service <Azure-Spring-Apps-service-instance-name> \ --label main \ --patterns "catalog/default,catalog/key-vault,identity/default,identity/key-vault,payment/default" \ --uri "https://github.com/Azure-Samples/acme-fitness-store-config"Gunakan perintah berikut untuk mengikat aplikasi ke Application Configuration Service:
az spring application-configuration-service bind \ --resource-group <resource-group-name> \ --app payment-service \ --service <Azure-Spring-Apps-service-instance-name> az spring application-configuration-service bind \ --resource-group <resource-group-name> \ --app catalog-service \ --service <Azure-Spring-Apps-service-instance-name>
Mengaktifkan pendaftaran dan penemuan layanan
Untuk pendaftaran dan penemuan layanan aktif, gunakan perintah berikut untuk mengikat aplikasi ke Service Registry:
az spring service-registry bind \
--resource-group <resource-group-name> \
--app payment-service \
--service <Azure-Spring-Apps-service-instance-name>
az spring service-registry bind \
--resource-group <resource-group-name> \
--app catalog-service \
--service <Azure-Spring-Apps-service-instance-name>
Menyebarkan aplikasi poliglot dengan Tanzu Build Service
Gunakan langkah-langkah berikut untuk menyebarkan dan membangun aplikasi. Untuk langkah-langkah ini, pastikan terminal berada di folder proyek sebelum menjalankan perintah apa pun.
Gunakan perintah berikut untuk membuat penyusun kustom di Tanzu Build Service:
az spring build-service builder create \ --resource-group <resource-group-name> \ --name quickstart-builder \ --service <Azure-Spring-Apps-service-instance-name> \ --builder-file azure/builder.jsonGunakan perintah berikut untuk membangun dan menyebarkan layanan pembayaran:
az spring app deploy \ --resource-group <resource-group-name> \ --name payment-service \ --service <Azure-Spring-Apps-service-instance-name> \ --config-file-pattern payment/default \ --source-path apps/acme-paymentGunakan perintah berikut untuk membangun dan menyebarkan layanan katalog:
az spring app deploy \ --resource-group <resource-group-name> \ --name catalog-service \ --service <Azure-Spring-Apps-service-instance-name> \ --config-file-pattern catalog/default \ --source-path apps/acme-catalogGunakan perintah berikut untuk membangun dan menyebarkan layanan pesanan:
az spring app deploy \ --resource-group <resource-group-name> \ --name order-service \ --service <Azure-Spring-Apps-service-instance-name> \ --builder quickstart-builder \ --source-path apps/acme-orderGunakan perintah berikut untuk membangun dan menyebarkan layanan kelir:
az spring app deploy \ --resource-group <resource-group-name> \ --name cart-service \ --service <Azure-Spring-Apps-service-instance-name> \ --builder quickstart-builder \ --env "CART_PORT=8080" \ --source-path apps/acme-cartGunakan perintah berikut untuk membangun dan menyebarkan aplikasi frontend:
az spring app deploy \ --resource-group <resource-group-name> \ --name frontend \ --service <Azure-Spring-Apps-service-instance-name> \ --source-path apps/acme-shopping
Tip
Untuk memecahkan masalah penyebaran, Anda dapat menggunakan perintah berikut untuk mendapatkan streaming log secara real time setiap kali aplikasi berjalan: az spring app logs --name <app name> --follow.
Merutekan permintaan ke aplikasi dengan Spring Cloud Gateway
Gunakan langkah-langkah berikut untuk mengonfigurasi Spring Cloud Gateway dan mengonfigurasi rute ke aplikasi.
Gunakan perintah berikut untuk menetapkan titik akhir ke Spring Cloud Gateway:
az spring gateway update \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> \ --assign-endpoint trueGunakan perintah berikut untuk mengonfigurasi informasi API Spring Cloud Gateway:
GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') az spring gateway update \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> \ --api-description "Fitness Store API" \ --api-title "Fitness Store" \ --api-version "v1.0" \ --server-url "https://${GATEWAY_URL}" \ --allowed-origins "*"Gunakan perintah berikut untuk membuat rute untuk layanan keliru:
az spring gateway route-config create \ --resource-group <resource-group-name> \ --name cart-routes \ --service <Azure-Spring-Apps-service-instance-name> \ --app-name cart-service \ --routes-file azure/routes/cart-service.jsonGunakan perintah berikut untuk membuat rute untuk layanan pesanan:
az spring gateway route-config create \ --resource-group <resource-group-name> \ --name order-routes \ --service <Azure-Spring-Apps-service-instance-name> \ --app-name order-service \ --routes-file azure/routes/order-service.jsonGunakan perintah berikut untuk membuat rute untuk layanan katalog:
az spring gateway route-config create \ --resource-group <resource-group-name> \ --name catalog-routes \ --service <Azure-Spring-Apps-service-instance-name> \ --app-name catalog-service \ --routes-file azure/routes/catalog-service.jsonGunakan perintah berikut untuk membuat rute untuk frontend:
az spring gateway route-config create \ --resource-group <resource-group-name> \ --name frontend-routes \ --service <Azure-Spring-Apps-service-instance-name> \ --app-name frontend \ --routes-file azure/routes/frontend.jsonGunakan perintah berikut untuk mengambil URL untuk Spring Cloud Gateway:
GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') echo "https://${GATEWAY_URL}"Anda dapat membuka URL output di browser untuk menjelajahi aplikasi yang disebarkan.
Telusuri dan coba API dengan Portal API
Gunakan langkah-langkah berikut untuk mengonfigurasi Portal API.
Gunakan perintah berikut untuk menetapkan titik akhir ke Portal API:
az spring api-portal update \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> \ --assign-endpoint trueGunakan perintah berikut untuk mengambil URL untuk Portal API:
PORTAL_URL=$(az spring api-portal show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') echo "https://${PORTAL_URL}"Anda dapat membuka URL output di browser untuk menjelajahi API aplikasi.
Membersihkan sumber daya
Jika Anda berencana untuk terus bekerja dengan mulai cepat dan tutorial berikutnya, biarkan sumber daya ini tetap di tempatnya. Jika tidak lagi diperlukan, hapus grup sumber daya, yang juga akan menghapus sumber daya di grup sumber daya. Untuk menghapus grup sumber daya dengan menggunakan Azure CLI, gunakan perintah berikut:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Langkah berikutnya
Setelah berhasil membuat dan menyebarkan aplikasi, lanjutkan ke salah satu mulai cepat opsional berikut: