Membuat dan menyebarkan alur kerja aplikasi logika berbasis penyewa tunggal dengan Logic Apps yang didukung Azure Arc (Pratinjau)
Catatan
Kemampuan ini masih dalam pratinjau dan mengacu pada Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.
Dengan Logic Apps yang didukung Azure Arc dan portal Azure, Anda dapat membuat dan menyebarkan alur kerja aplikasi logika berbasis penyewa tunggal ke infrastruktur Kubernetes yang Anda operasikan dan kelola. Aplikasi logika Anda berjalan di lokasi kustom yang dipetakan ke kluster Kubernetes yang didukung Azure Arc tempat Anda telah menginstal dan mengaktifkan bundel ekstensi platform Azure App Service.
Sebagai contoh, kluster ini dapat menjadi Azure Kubernetes Service, Kube bare-metal, atau penyiapan lainnya. Bundel ekstensi memungkinkan Anda menjalankan layanan platform seperti Azure Logic Apps, Azure App Service, dan Azure Functions pada kluster Kube Anda.
Untuk informasi selengkapnya, tinjau dokumentasi berikut ini:
- Apa itu Logic Apps berbasis Azure Arc?
- Lingkungan penyewa tunggal versus multi penyewa dan layanan integrasi
- Gambaran umum Azure Arc
- Gambaran umum Azure Kubernetes Service
- Apakah itu Kubernetes dengan dukungan Azure Arc?
- Lokasi kustom pada Kubernetes yang didukung Azure Arc
- App Service, Functions, dan Logic Apps pada Azure Arc (Pratinjau)
- Siapkan kluster Kube berkemampuan Azure Arc untuk menjalankan App Service, Functions, dan Logic Apps (Pratinjau)
Prasyarat
Bagian ini menjelaskan prasyarat umum di semua pendekatan dan alat yang dapat Anda gunakan untuk membuat dan menyebarkan alur kerja aplikasi logika Anda. Prasyarat khusus alat muncul bersama dengan langkah-langkah yang sesuai.
Akun Azure dengan langganan aktif. Jika Anda tidak memiliki langganan Azure, buat akun gratis.
Lingkungan Kube dengan kluster Kubernetes yang didukung Azure Arc dan lokasi kustom tempat Anda dapat menghosting dan menjalankan Azure Logic Apps, Azure App Service, dan Azure Functions.
Penting
Pastikan Anda menggunakan lokasi sumber daya yang sama untuk lingkungan Kube, lokasi kustom, dan aplikasi logika.
Saat membuat ekstensi bundel App Service pada kluster Kube, Anda dapat mengubah perilaku penskalaan default untuk menjalankan alur kerja aplikasi logika Anda. Saat Anda membuat ekstensi dengan menggunakan perintah Azure CLI,
az k8s-extension create
pastikan untuk menyertakan pengaturan konfigurasi,keda.enabled=true
:az k8s-extension create {other-command-options} --configuration-settings "keda.enabled=true"
Untuk informasi selengkapnya, tinjau dokumentasi berikut ini:
Identitas Microsoft Entra Anda sendiri
Jika alur kerja Anda perlu menggunakan koneksi yang dihosting Azure, seperti Office 365 Outlook atau Azure Storage, aplikasi logika Anda harus menggunakan identitas Microsoft Entra untuk autentikasi. Logic Apps yang didukung Azure Arc dapat berjalan pada infrastruktur apa pun tetapi memerlukan identitas yang memiliki izin untuk menggunakan koneksi yang dihosting Azure. Untuk menyiapkan identitas ini, buat pendaftaran aplikasi di ID Microsoft Entra yang digunakan aplikasi logika Anda sebagai identitas yang diperlukan.
Catatan
Dukungan identitas terkelola saat ini tidak tersedia untuk Logic Apps yang didukung Azure Arc.
Untuk membuat pendaftaran aplikasi Microsoft Entra menggunakan Azure CLI, ikuti langkah-langkah berikut:
Buat pendaftaran aplikasi dengan menggunakan perintah
az ad sp create
.Untuk meninjau semua detailnya, jalankan perintah
az ad sp show
.Dari output kedua perintah, temukan dan simpan ID klien, ID objek, ID penyewa, dan nilai rahasia klien, yang perlu Anda simpan untuk digunakan nanti.
Untuk membuat pendaftaran aplikasi Microsoft Entra menggunakan portal Azure, ikuti langkah-langkah berikut:
Buat pendaftaran aplikasi Microsoft Entra baru dengan menggunakan portal Azure.
Setelah pembuatan selesai, temukan pendaftaran aplikasi baru di portal.
Pada menu pendaftaran, pilih Ringkasan, dan simpan ID klien, ID penyewa, dan nilai rahasia klien.
Untuk menemukan ID objek, di samping bidang Aplikasi terkelola di direktori lokal, pilih nama untuk pendaftaran aplikasi Anda. Dari tampilan properti, salin ID objek.
Buat dan sebarkan aplikasi logika
Berdasarkan apakah Anda ingin menggunakan Azure CLI, Visual Studio Code, atau portal Microsoft Azure, pilih tab yang cocok untuk meninjau prasyarat dan langkah-langkah tertentu.
Sebelum memulai, Anda harus memiliki item berikut:
Ekstensi Azure CLI terbaru dipasang di komputer lokal Anda.
Jika Anda tidak memiliki ekstensi ini, tinjau panduan penginstalan untuk sistem operasi atau platform Anda.
Jika Anda tidak yakin bahwa Anda memiliki versi terbaru, ikuti langkah-langkah untuk memeriksa lingkungan dan versi CLI Anda.
Pratinjau ekstensi Azure Logic Apps (Standar) untuk Azure CLI.
Meskipun Azure Logic Apps penyewa tunggal umumnya tersedia, ekstensi Azure Logic Apps masih dalam pratinjau.
Grup sumber daya Azure tempat membuat aplikasi logika Anda.
Jika Anda tidak memiliki grup sumber daya ini, ikuti langkah-langkah membuat grup sumber daya.
Akun penyimpanan Azure yang digunakan dengan aplikasi logika Anda untuk data dan menjalankan retensi riwayat.
Jika tidak memiliki akun penyimpanan ini, Anda dapat membuat akun ini saat membuat aplikasi logika, atau Anda dapat mengikuti langkah-langkah untuk membuat akun penyimpanan.
Periksa lingkungan dan versi CLI
Masuk ke portal Azure. Periksa apakah langganan Anda aktif dengan menjalankan perintah berikut ini:
az login
Periksa versi Azure CLI Anda di terminal atau jendela perintah dengan menjalankan perintah berikut:
az --version
Untuk versi terbaru, lihat catatan rilis terbaru.
Jika Anda tidak memiliki versi terbaru, perbarui pemasangan Anda dengan mengikuti panduan pemasangan sistem operasi atau platform Anda.
Pasang ekstensi Azure Logic Apps (Standar) untuk Azure CLI
Pasang pratinjau ekstensi Azure Logic Apps (Standar) penyewa tunggal untuk Azure CLI dengan menjalankan perintah berikut ini:
az extension add --yes --source "https://aka.ms/logicapp-latest-py2.py3-none-any.whl"
Buat grup sumber daya
Jika Anda belum memiliki grup sumber daya untuk aplikasi logika Anda, buat grup dengan menjalankan perintah, az group create
. Kecuali Anda sudah menetapkan langganan default untuk akun Azure Anda, pastikan untuk menggunakan parameter --subscription
dengan nama langganan atau pengidentifikasi Anda. Jika tidak, Anda tidak perlu menggunakan parameter --subscription
.
Tip
Untuk mengatur langganan default, jalankan perintah berikut ini, dan ganti MySubscription
dengan nama langganan atau pengidentifikasi Anda.
az account set --subscription MySubscription
Misalnya, perintah berikut membuat grup sumber daya bernama MyResourceGroupName
menggunakan langganan Azure bernama MySubscription
di lokasi eastus
:
az group create --name MyResourceGroupName
--subscription MySubscription
--location eastus
Jika grup sumber daya Anda berhasil dibuat, output akan menampilkan provisioningState
sebagai Succeeded
:
<...>
"name": "testResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
<...>
Membuat aplikasi logika
Untuk membuat aplikasi logika yang didukung Azure Arc, jalankan perintah, az logicapp create
, dengan parameter yang diperlukan berikut. Lokasi sumber daya untuk aplikasi logika, lokasi kustom, dan lingkungan Kube Anda semuanya harus sama.
Parameter | Deskripsi |
---|---|
--name -n |
Nama unik untuk aplikasi logika Anda |
--resource-group -g |
Nama grup sumber daya tempat Anda ingin membuat aplikasi logika. Jika Anda tidak memilikinya, buat grup sumber daya. |
--storage-account -s |
Akun penyimpanan yang digunakan dengan aplikasi logika Anda. Untuk akun penyimpanan dalam grup sumber daya yang sama, gunakan nilai untai (karakter). Untuk akun penyimpanan di grup sumber daya yang berbeda, gunakan ID sumber daya. |
az logicapp create --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--storage-account MyStorageAccount --custom-location MyCustomLocation
Untuk membuat aplikasi logika dengan dukungan Azure Arc menggunakan gambar Azure Container Registry privat, jalankan perintah, az logicapp create
, dengan parameter yang diperlukan berikut:
az logicapp create --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--storage-account MyStorageAccount --custom-location MyCustomLocation
--deployment-container-image-name myacr.azurecr.io/myimage:tag
--docker-registry-server-password MyPassword
--docker-registry-server-user MyUsername
Tampilkan detail aplikasi logika
Untuk menampilkan detail tentang aplikasi logika yang didukung Azure Arc Anda, jalankan perintah, az logicapp show
, dengan parameter yang diperlukan berikut:
az logicapp show --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Sebarkan aplikasi logika
Untuk menyebarkan aplikasi logika yang didukung Azure Arc menggunakan penyebaran zip Kudu dari Azure App Service, jalankan perintah, az logicapp deployment source config-zip
, dengan parameter yang diperlukan berikut:
Penting
Pastikan file zip Anda berisi artefak proyek Anda di tingkat root. Artefak ini mencakup semua folder alur kerja, file konfigurasi seperti host.json, connections.json, dan file terkait lainnya. Jangan tambahkan folder tambahan atau masukkan artefak apa pun ke dalam folder yang belum ada dalam struktur proyek Anda. Misalnya, daftar ini memperlihatkan contoh struktur file MyBuildArtifacts.zip:
MyStatefulWorkflow1-Folder
MyStatefulWorkflow2-Folder
connections.json
host.json
az logicapp deployment source config-zip --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--src MyBuildArtifact.zip
Mulai aplikasi logika
Untuk memulai aplikasi logika yang didukung Azure Arc, jalankan perintah, az logicapp start
, dengan parameter yang diperlukan berikut:
az logicapp start --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Hentikan aplikasi logika
Untuk menghentikan aplikasi logika yang didukung Azure Arc, jalankan perintah, az logicapp stop
, dengan parameter yang diperlukan berikut:
az logicapp stop --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Hidupkan ulang aplikasi logika
Untuk menghidupkan ulang aplikasi logika yang didukung Azure Arc, jalankan perintah, az logicapp restart
, dengan parameter yang diperlukan berikut:
az logicapp restart --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Hapus aplikasi logika
Untuk menghapus aplikasi logika yang didukung Azure Arc, jalankan perintah, az logicapp delete
, dengan parameter yang diperlukan berikut:
az logicapp delete --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Siapkan autentikasi koneksi
Saat ini, kluster Kubernetes yang didukung Azure Arc tidak mendukung penggunaan identitas terkelola aplikasi logika untuk mengautentikasi koneksi API terkelola. Anda membuat koneksi yang di-hosting dan dikelola Azure ini saat Anda menggunakan konektor terkelola di alur kerja Anda.
Sebagai gantinya, Anda harus membuat pendaftaran aplikasi Anda sendiri di ID Microsoft Entra. Kemudian, Anda dapat menggunakan pendaftaran aplikasi ini sebagai identitas untuk aplikasi logika yang disebarkan dan berjalan di Logic Apps yang didukung Azure Arc. Untuk informasi selengkapnya, tinjau prasyarat tingkat teratas.
Dari pendaftaran aplikasi, Anda memerlukan ID klien, ID objek, ID penyewa, dan rahasia klien. Jika Anda menggunakan Visual Studio Code untuk menyebarkan, Anda memiliki pengalaman bawaan untuk menyiapkan aplikasi logika Anda dengan identitas Microsoft Entra. Untuk informasi selengkapnya, tinjau Buat dan sebarkan alur kerja aplikasi logika - Visual Studio Code.
Namun, jika Anda menggunakan Visual Studio Code untuk pengembangan, tetapi Anda menggunakan Azure CLI atau alur otomatis untuk disebarkan, ikuti langkah-langkah ini.
Konfigurasikan pengaturan koneksi dan aplikasi di proyek Anda
Di file connections.json proyek aplikasi logika Anda, temukan objek
authentication
koneksi terkelola. Ganti konten objek ini dengan informasi pendaftaran aplikasi Anda, yang sebelumnya Anda buat di prasyarat tingkat atas:"authentication": { "type": "ActiveDirectoryOAuth", "audience": "https://management.core.windows.net/", "credentialType": "Secret", "clientId": "@appsetting('WORKFLOWAPP_AAD_CLIENTID')", "tenant": "@appsetting('WORKFLOWAPP_AAD_TENANTID')", "secret": "@appsetting('WORKFLOWAPP_AAD_CLIENTSECRET')" }
Di file local.settings.json proyek aplikasi logika Anda, tambahkan ID klien, ID objek, ID penyewa, dan rahasia klien Anda. Setelah penyebaran, pengaturan ini menjadi pengaturan aplikasi logika Anda.
{ "IsEncrypted": false, "Values": { <...> "WORKFLOWAPP_AAD_CLIENTID":"<my-client-ID>", "WORKFLOWAPP_AAD_OBJECTID":"<my-object-ID", "WORKFLOWAPP_AAD_TENANTID":"<my-tenant-ID>", "WORKFLOWAPP_AAD_CLIENTSECRET":"<my-client-secret>" } }
Penting
Untuk skenario atau lingkungan produksi, pastikan Anda melindungi dan mengamankan rahasia dan informasi sensitif tersebut, misalnya, dengan menggunakan brankas kunci.
Tambahkan kebijakan akses
Di Azure Logic Apps penyewa tunggal, setiap aplikasi logika memiliki identitas yang diberikan izin oleh kebijakan akses untuk menggunakan koneksi yang di-hosting dan dikelola Azure. Anda dapat menyiapkan kebijakan akses ini dengan menggunakan portal Microsoft Azure atau penyebaran infrastruktur.
Templat ARM
Di templat Azure Resource Manager (templat ARM) Anda, sertakan definisi sumber daya berikut untuk setiap koneksi API terkelola dan berikan informasi berikut:
Parameter | Deskripsi |
---|---|
<nama-koneksi> | Nama untuk koneksi API terkelola Anda, misalnya office365 |
<object-ID> | ID objek untuk identitas Microsoft Entra Anda, yang sebelumnya disimpan dari pendaftaran aplikasi Anda |
<tenant-ID> | ID penyewa untuk identitas Microsoft Entra Anda, yang sebelumnya disimpan dari pendaftaran aplikasi Anda |
{
"type": "Microsoft.Web/connections/accessPolicies",
"apiVersion": "2016-06-01",
"name": "[concat('<connection-name>'),'/','<object-ID>')]",
"location": "<location>",
"dependsOn": [
"[resourceId('Microsoft.Web/connections', parameters('connection_name'))]"
],
"properties": {
"principal": {
"type": "ActiveDirectory",
"identity": {
"objectId": "<object-ID>",
"tenantId": "<tenant-ID>"
}
}
}
}
Untuk informasi selengkapnya, tinjau dokumentasi Microsoft.Web/connections/accesspolicies (templat ARM).
Portal Azure
Untuk tugas ini, gunakan ID klien anda yang sebelumnya disimpan sebagai ID aplikasi.
Di portal Microsoft Azure, temukan dan buka aplikasi logika Anda. Pada menu aplikasi logika Anda, di bawah Alur Kerja, pilih Koneksi, yang mencantumkan semua koneksi di alur kerja aplikasi logika Anda.
Di bawah Koneksi API, pilih koneksi, yaitu
office365
dalam contoh ini.Pada menu koneksi, di bawah Pengaturan, pilih Kebijakan akses>Tambahkan.
Di panel Tambahkan kebijakan akses, di kotak pencarian, temukan dan pilih ID klien Anda yang sebelumnya disimpan.
Setelah selesai, pilih Tambahkan.
Ulangi langkah-langkah ini untuk setiap koneksi yang di hosting Azure di aplikasi logika Anda.
Otomatiskan penyebaran Azure DevOps
Untuk membuat dan menyebarkan aplikasi logika yang didukung Azure Arc, Anda dapat menggunakan alur dan proses yang sama seperti untuk aplikasi logika berbasis penyewa tunggal. Untuk mengotomatiskan penyebaran infrastruktur menggunakan alur untuk Azure DevOps, lakukan perubahan berikut di tingkat infrastruktur untuk penyebaran non-kontainer dan kontainer.
Penyebaran standar (non-kontainer)
Jika Anda menggunakan zip deploy untuk penyebaran aplikasi logika, Anda tidak perlu menyiapkan registri Docker untuk meng-hosting gambar kontainer. Meskipun aplikasi logika di Kubernetes secara teknis dijalankan di kontainer, Logic Apps yang didukung Azure Arc mengelola kontainer ini untuk Anda. Untuk skenario ini, selesaikan tugas berikut saat Anda menyiapkan infrastruktur Anda:
- Beri tahu penyedia sumber bahwa Anda membuat aplikasi logika di Kube.
- Sertakan paket App Service dengan penyebaran Anda. Untuk informasi selengkapnya, tinjau Sertakan paket App Service dengan penyebaran.
Di templat Azure Resource Manager (templat ARM) Anda sertakan nilai berikut ini:
Item | Properti JSON | Deskripsi |
---|---|---|
Lokasi | location |
Pastikan untuk menggunakan lokasi (wilayah Azure) sumber daya yang sama sebagai lokasi kustom dan lingkungan Kube Anda. Lokasi sumber daya untuk aplikasi logika, lokasi kustom, dan lingkungan Kube Anda semuanya harus sama. Catatan: Nilai ini tidak sama dengan nama untuk lokasi kustom Anda. |
Jenis aplikasi | kind |
Jenis aplikasi yang Anda sebarkan sehingga platform Azure dapat mengidentifikasi aplikasi Anda. Untuk Azure Logic Apps, informasi ini terlihat seperti contoh berikut: kubernetes,functionapp,workflowapp,linux |
Lokasi Yang Diperluas | extendedLocation |
Objek ini memerlukan "name" dari lokasi kustom Anda untuk lingkungan Kube Anda dan "type" harus diatur ke "CustomLocation" . |
ID sumber daya paket Hosting | serverFarmId |
ID sumber daya dari paket App Service terkait, diformat sebagai berikut:
|
String koneksi penyimpanan | AzureWebJobsStorage |
string koneksi untuk akun penyimpanan Anda Penting: Anda perlu menyediakan string koneksi untuk akun penyimpanan Anda di templat ARM Anda. Untuk skenario atau lingkungan produksi, pastikan Anda melindungi dan mengamankan rahasia dan informasi sensitif tersebut, misalnya, dengan menggunakan brankas kunci. |
Templat ARM
Contoh berikut menjelaskan contoh definisi sumber daya Logic Apps yang didukung Azure Arc yang dapat Anda gunakan di template ARM. Untuk informasi selengkapnya, tinjau dokumentasi Microsoft.Web/sites template format (JSON).
{
"type": "Microsoft.Web/sites",
"apiVersion": "2020-12-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"kind": "kubernetes,functionapp,workflowapp,linux",
"extendedLocation": {
"name": "[parameters('customLocationId')]",
"type": "CustomLocation"
},
"properties": {
"clientAffinityEnabled": false,
"name": "[parameters('name')]",
"serverFarmId": "<hosting-plan-ID>",
"siteConfig": {
"appSettings": [
{
"name": "FUNCTIONS_EXTENSION_VERSION",
"value": "~3"
},
{
"name": "FUNCTIONS_WORKER_RUNTIME",
"value": "node"
},
{
"name": "AzureWebJobsStorage",
"value": "<storage-connection-string>"
},
{
"name": "AzureFunctionsJobHost__extensionBundle__id",
"value": "Microsoft.Azure.Functions.ExtensionBundle.Workflows"
},
{
"name": "AzureFunctionsJobHost__extensionBundle__version",
"value": "[1.*, 2.0.0)"
},
{
"name": "APP_KIND",
"value": "workflowapp"
}
],
"use32BitWorkerProcess": "[parameters('use32BitWorkerProcess')]",
"linuxFxVersion": "Node|12"
}
}
}
Penyebaran kontainer
Jika lebih suka menggunakan alat kontainer dan proses penyebaran, Anda dapat memasukkan aplikasi logika ke kontainer dan menyebarkannya ke Logic Apps yang didukung Azure Arc. Untuk skenario ini, selesaikan tugas tingkat tinggi berikut ini saat Anda menyiapkan infrastruktur Anda:
Siapkan registri Docker untuk meng-hosting gambar kontainer Anda.
Untuk membuat kontainer aplikasi logika, tambahkan Dockerfile berikut ke folder root proyek aplikasi logika Anda, dan ikuti langkah-langkah untuk membangun dan menerbitkan gambar ke registri Docker Anda, misalnya, tinjau Tutorial: Bangun dan sebarkan gambar kontainer di cloud dengan Tugas Azure Container Registry.
Catatan
Jika Anda menggunakan SQL sebagai penyedia penyimpanan, pastikan Anda menggunakan gambar Azure Functions versi 3.3.1 atau yang lebih baru.
FROM mcr.microsoft.com/azure-functions/node:3.3.1 ENV AzureWebJobsScriptRoot=/home/site/wwwroot \ AzureFunctionsJobHost__Logging__Console__IsEnabled=true \ FUNCTIONS_V2_COMPATIBILITY_MODE=true COPY . /home/site/wwwroot RUN cd /home/site/wwwroot
Beri tahu penyedia sumber bahwa Anda membuat aplikasi logika di Kube.
Dalam templat penyebaran Anda, arahkan ke registri Docker dan gambar kontainer tempat Anda berencana untuk menyebarkan. Azure Logic Apps penyewa tunggal menggunakan informasi ini untuk mendapatkan gambar kontainer dari registri Docker Anda.
Sertakan paket App Service dengan penyebaran Anda. Untuk informasi selengkapnya, tinjau Sertakan paket App Service dengan penyebaran.
Di templat Azure Resource Manager (templat ARM) Anda sertakan nilai berikut ini:
Item | Properti JSON | Deskripsi |
---|---|---|
Lokasi | location |
Pastikan untuk menggunakan lokasi (wilayah Azure) sumber daya yang sama sebagai lokasi kustom dan lingkungan Kube Anda. Lokasi sumber daya untuk aplikasi logika, lokasi kustom, dan lingkungan Kube Anda semuanya harus sama. Catatan: Nilai ini tidak sama dengan nama untuk lokasi kustom Anda. |
Jenis aplikasi | kind |
Jenis aplikasi yang Anda sebarkan sehingga platform Azure dapat mengidentifikasi aplikasi Anda. Untuk Azure Logic Apps, informasi ini terlihat seperti contoh berikut: kubernetes,functionapp,workflowapp,container |
Lokasi Yang Diperluas | extendedLocation |
Objek ini memerlukan "name" dari lokasi kustom Anda untuk lingkungan Kube Anda dan "type" harus diatur ke "CustomLocation" . |
Nama kontainer | linuxFxVersion |
Nama untuk kontainer Anda, diformat sebagai berikut: DOCKER\|<container-name> |
ID sumber daya paket Hosting | serverFarmId |
ID sumber daya dari paket App Service terkait, diformat sebagai berikut:
|
String koneksi penyimpanan | AzureWebJobsStorage |
string koneksi untuk akun penyimpanan Anda Penting: Saat Anda menyebarkan ke kontainer Docker, Anda perlu menyediakan string koneksi untuk akun penyimpanan Anda di templat ARM Anda. Untuk skenario atau lingkungan produksi, pastikan Anda melindungi dan mengamankan rahasia dan informasi sensitif tersebut, misalnya, dengan menggunakan brankas kunci. |
Untuk mereferensikan registri Docker dan gambar kontainer Anda, sertakan nilai-nilai ini di templat Anda:
Item | Properti JSON | Deskripsi |
---|---|---|
URL server registri Docker | DOCKER_REGISTRY_SERVER_URL |
URL untuk server registri Docker |
Server registri Docker | DOCKER_REGISTRY_SERVER_USERNAME |
Nama pengguna untuk mengakses server registri Docker |
Kata sandi server registri Docker | DOCKER_REGISTRY_SERVER_PASSWORD |
Kata sandi untuk mengakses server registri Docker |
Templat ARM
Contoh berikut menjelaskan contoh definisi sumber daya Logic Apps yang didukung Azure Arc yang dapat Anda gunakan di template ARM. Untuk informasi selengkapnya, tinjau dokumentasi Microsoft.Web/sites template format (ARM template).
{
"type": "Microsoft.Web/sites",
"apiVersion": "2020-12-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"kind": " kubernetes,functionapp,workflowapp,container",
"extendedLocation": {
"name": "[parameters('customLocationId')]",
"type": "CustomLocation"
},
"properties": {
"name": "[parameters('name')]",
"clientAffinityEnabled": false,
"serverFarmId": "<hosting-plan-ID>",
"siteConfig": {
"appSettings": [
{
"name": "FUNCTIONS_EXTENSION_VERSION",
"value": "~3"
},
{
"name": "FUNCTIONS_WORKER_RUNTIME",
"value": "node"
},
{
"name": "AzureWebJobsStorage",
"value": "<storage-connection-string>"
},
{
"name": "AzureFunctionsJobHost__extensionBundle__id",
"value": "Microsoft.Azure.Functions.ExtensionBundle.Workflows"
},
{
"name": "AzureFunctionsJobHost__extensionBundle__version",
"value": "[1.*, 2.0.0)"
},
{
"name": "APP_KIND",
"value": "workflowapp"
},
{
"name": "DOCKER_REGISTRY_SERVER_URL",
"value": "<docker-registry-server-URL>"
},
{
"name": "DOCKER_REGISTRY_SERVER_USERNAME",
"value": "<docker-registry-server-username>"
},
{
"name": "DOCKER_REGISTRY_SERVER_PASSWORD",
"value": "<docker-registry-server-password>"
}
],
"use32BitWorkerProcess": "[parameters('use32BitWorkerProcess')]",
"linuxFxVersion": "DOCKER|<container-name>"
}
}
}
Sertakan paket App Service dengan penyebaran
Entah Anda memiliki penyebaran standar atau kontainer, Anda harus menyertakan paket App Service dengan penyebaran Anda. Meskipun paket ini menjadi kurang relevan dengan lingkungan Kube, baik penyebaran standar maupun kontainer tetap memerlukan paket App Service.
Sementara opsi buat lainnya biasanya menangani penyediaan sumber daya Azure untuk paket ini, jika penyebaran Anda menggunakan templat "infrastruktur sebagai kode", Anda harus secara eksplisit membuat sumber daya Azure untuk paket tersebut. Sumber daya paket hosting tidak berubah, hanya informasi sku
.
Di templat Azure Resource Manager (templat ARM) Anda sertakan nilai berikut ini:
Item | Properti JSON | Deskripsi |
---|---|---|
Lokasi | location |
Pastikan untuk menggunakan lokasi (wilayah Azure) sumber daya yang sama sebagai lokasi kustom dan lingkungan Kube Anda. Lokasi sumber daya untuk aplikasi logika, lokasi kustom, dan lingkungan Kube Anda semuanya harus sama. Catatan: Nilai ini tidak sama dengan nama untuk lokasi kustom Anda. |
Kind | kind |
Jenis paket layanan aplikasi yang sedang digunakan yang perlu berupa kubernetes,linux |
Lokasi Yang Diperluas | extendedLocation |
Objek ini memerlukan "name" dari lokasi kustom Anda untuk lingkungan Kube Anda dan "type" harus diatur ke "CustomLocation" . |
Jenis paket hosting | name |
Nama untuk paket App Service |
Tingkat paket | sku: tier |
Tingkat paket App Service, yaitu K1 |
Nama paket | sku: name |
Nama paket App Service, yaitu Kubernetes |
Templat ARM
Contoh berikut menjelaskan contoh definisi sumber daya paket App Service yang dapat Anda gunakan dengan penyebaran aplikasi Anda. Untuk informasi selengkapnya, tinjau dokumentasi Microsoft.Web/serverfarms template format (ARM template).
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2020-12-01",
"location": "<location>",
"name": "<hosting-plan-name>",
"kind": "kubernetes,linux",
"extendedLocation": {
"name": "[parameters('customLocationId')]",
"type": "CustomLocation"
},
"sku": {
"tier": "Kubernetes",
"name": "K1",
"capacity": 1
},
"properties": {
"kubeEnvironmentProfile": {
"id": "[parameters('kubeEnvironmentId')]"
}
}
}
Ubah perilaku penskalaan default
Logic Apps yang didukung Azure Arc secara otomatis mengelola penskalaan untuk aplikasi logika Anda berdasarkan jumlah pekerjaan dalam antrean penyimpanan backend. Namun, Anda dapat mengubah perilaku penskalaan default.
Dalam aplikasi logika, definisi alur kerja menentukan urutan tindakan yang akan dijalankan. Setiap kali eksekusi alur kerja dipicu, runtime Azure Logic Apps membuat pekerjaan untuk setiap tipe tindakan dalam definisi alur kerja. Runtime kemudian menata pekerjaan ini ke dalam pengurut pekerjaan. Pengurut ini mengatur penjalanan pekerjaan untuk definisi alur kerja, tetapi mesin orkestrasi pekerjaan Azure Logic Apps yang mendasarinya menjalankan setiap pekerjaan.
Untuk alur kerja yang stateful, mesin orkestrasi pekerjaan menggunakan pesan antrean penyimpanan untuk menjadwalkan pekerjaan dalam pengurut pekerjaan. Di balik layar, pengirim pekerjaan (atau instans pekerja pengirim) memantau antrean pekerjaan ini. Mesin orkestrasi menggunakan jumlah minimum dan maksimum default instans pekerja untuk memantau antrean pekerjaan. Untuk alur kerja tanpa status, mesin orkestrasi sepenuhnya menjaga status tindakan dalam memori.
Untuk mengubah perilaku penskalaan default, Anda menentukan jumlah minimum dan maksimum instans pekerja yang berbeda yang memantau antrean pekerjaan.
Prasyarat untuk mengubah penskalaan
Di kluster Kubernetes yang didukung Azure Arc Anda, pada ekstensi bundel App Service yang dibuat sebelumnya, properti keda.enabled
harus diatur ke true
. Untuk informasi selengkapnya, tinjau prasyarat tingkat teratas.
Ubah ambang penskalaan
Di Logic Apps yang didukung Azure Arc, panjang antrean pekerjaan memicu peristiwa skala dan menetapkan ambang batas untuk seberapa sering penskalaan terjadi untuk aplikasi logika Anda. Anda dapat mengubah panjang antrean, yang memiliki nilai default yang diatur ke pekerjaan 20
. Untuk menskalakan lebih jarang, tingkatkan panjang antrean. Untuk menskalakan lebih sering, kurangi panjang antrean. Proses ini mungkin memerlukan coba-coba.
Untuk mengubah panjang antrean, di file host.json tingkat akar proyek aplikasi logika Anda, atur properti Runtime.ScaleMonitor.KEDA.TargetQueueLength
, misalnya:
"extensions": {
"workflow": {
"settings": {
"Runtime.ScaleMonitor.KEDA.TargetQueueLength": "10"
}
}
}
Ubah maksimum throughput
Pada sumber daya aplikasi logika yang ada, Anda dapat mengubah jumlah maksimum instans pekerja, yang memiliki nilai default yang diatur ke 2
. Nilai ini mengontrol batas atas berapa banyak instans pekerja yang dapat memantau antrean pekerjaan.
Untuk mengubah maksimum ini, gunakan Azure CLI (aplikasi logika buat saja) dan portal Microsoft Azure.
Azure CLI
Untuk membuat aplikasi logika baru, jalankan perintah az logicapp create
, dengan parameter berikut:
az logicapp create --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--storage-account MyStorageAccount --custom-location MyCustomLocation
[--plan MyHostingPlan] [--min-worker-count 1] [--max-worker-count 4]
Untuk mengonfigurasi jumlah instans maksimum Anda, gunakan parameter --settings
:
az logicapp config appsettings set --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--settings "K8SE_APP_MAX_INSTANCE_COUNT=10"
Portal Azure
Di pengaturan aplikasi logika berbasis penyewa tunggal Anda, tambahkan atau edit nilai pengaturan K8SE_APP_MAX_INSTANCE_COUNT
dengan mengikuti langkah-langkah berikut:
Di portal Microsoft Azure, temukan dan buka aplikasi logika berbasis penyewa tunggal Anda.
Pada menu aplikasi logika, di bawah Pengaturan, pilih Konfigurasi.
Di panel Konfigurasi, di bawah Pengaturan aplikasi, tambahkan pengaturan aplikasi baru atau edit nilai yang sudah ada, jika sudah ditambahkan.
Pilih Pengaturan aplikasi baru, dan tambahkan pengaturan
K8SE_APP_MAX_INSTANCE_COUNT
dengan nilai maksimum yang Anda inginkan.Edit nilai yang sudah ada untuk pengaturan
K8SE_APP_MAX_INSTANCE_COUNT
.
Setelah selesai, simpan perubahan Anda.
Ubah minimum throughput
Pada sumber daya aplikasi logika yang ada, Anda dapat mengubah jumlah maksimum instans pekerja, yang memiliki nilai default yang diatur ke 1
. Nilai ini mengontrol batas bawah berapa banyak instans pekerja yang dapat memantau antrean pekerjaan. Untuk ketersediaan atau performa tinggi, tingkatkan nilai ini.
Untuk mengubah minimum ini, gunakan Azure CLI atau portal Microsoft Azure.
Azure CLI
Untuk sumber daya aplikasi logika yang ada, jalankan perintah, az logicapp scale
, dengan parameter berikut:
az logicapp scale --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--instance-count 5
Untuk membuat aplikasi logika baru, jalankan perintah az logicapp create
, dengan parameter berikut:
az logicapp create --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--storage-account MyStorageAccount --custom-location MyCustomLocation
[--plan MyHostingPlan] [--min-worker-count 2] [--max-worker-count 4]
Portal Azure
Di pengaturan aplikasi logika berbasis penyewa tunggal Anda, ubah nilai properti Luaskan skala dengan mengikuti langkah-langkah berikut:
Di portal Microsoft Azure, temukan dan buka aplikasi logika berbasis penyewa tunggal Anda.
Pada menu aplikasi logika, di bawah Pengaturan, pilih Luaskan skala.
Pada panel Luaskan skala, seret penggeser instans minimum ke nilai yang Anda inginkan.
Setelah selesai, simpan perubahan Anda.
Memecahkan masalah
Untuk mendapatkan informasi selengkapnya tentang aplikasi logika yang anda sebarkan, cobalah opsi berikut:
Akses pengaturan dan konfigurasi aplikasi
Untuk mengakses pengaturan aplikasi Anda, jalankan perintah, az logicapp config appsettings
, dengan parameter berikut:
az logicapp config appsettings list --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Untuk mengonfigurasi pengaturan aplikasi, jalankan perintah, az logicapp config appsettings set
, dengan parameter berikut. Pastikan untuk menggunakan parameter --settings
dengan nama dan nilai pengaturan Anda.
az logicapp config appsettings set --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--settings "MySetting=1"
Untuk menghapus pengaturan aplikasi, jalankan perintah, az logicapp config appsettings delete
, dengan parameter berikut. Pastikan untuk menggunakan parameter --setting-names
dengan nama pengaturan yang ingin Anda hapus.
az logicapp config appsettings delete --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--setting-names MySetting
Tampilkan properti aplikasi logika
Untuk melihat informasi dan properti aplikasi Anda, jalankan perintah, az logicapp show
, dengan parameter berikut:
az logicapp show --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Pantau aktivitas alur kerja
Untuk menampilkan aktivitas untuk alur kerja di aplikasi logika Anda, ikuti langkah-langkah berikut:
Di portal Azure, temukan dan buka aplikasi logika yang Anda terapkan.
Pada menu aplikasi logika, pilih Alur kerja, lalu pilih alur kerja Anda.
Pada menu alur kerja, pilih Pantau.
Mengumpulkan log
Untuk mendapatkan data yang dicatat tentang aplikasi logika Anda, aktifkan Application Insights di aplikasi logika Anda jika belum diaktifkan.