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.
Berlaku pada: Azure Logic Apps (Standar)
Terkadang Anda harus menyiapkan dan mengelola infrastruktur Anda sendiri untuk memenuhi kebutuhan khusus untuk kepatuhan terhadap peraturan, privasi data, atau pembatasan jaringan. Azure Logic Apps menawarkan model penyebaran hibrid sehingga Anda dapat menyebarkan dan menghosting alur kerja aplikasi logika Standar dalam skenario lokal, cloud privat, atau cloud publik. Model ini memberi Anda kemampuan untuk menghosting solusi integrasi di lingkungan yang terhubung sebagian ketika Anda perlu menggunakan pemrosesan lokal, penyimpanan data, dan akses jaringan. Dengan opsi hibrid, Anda memiliki kebebasan dan fleksibilitas untuk memilih lingkungan terbaik untuk alur kerja Anda.
Cara kerja penyebaran hibrid
Alur kerja aplikasi logika standar dengan opsi penyebaran hibrid didukung oleh runtime Azure Logic Apps yang dihosting di ekstensi Azure Container Apps. Dalam alur kerja Anda, setiap operasi bawaan runtime-native berjalan secara lokal dengan runtime sehingga Anda mendapatkan throughput yang lebih tinggi untuk akses ke sumber data lokal. Jika Anda memerlukan akses ke sumber daya data non-lokal, misalnya, layanan berbasis cloud seperti Microsoft Office 365, Microsoft Teams, Salesforce, GitHub, LinkedIn, atau ServiceNow, Anda dapat memilih operasi dari 1.400+ konektor yang dihosting di Azure untuk disertakan dalam alur kerja Anda. Untuk informasi selengkapnya, lihat Konektor Terkelola (Bersama). Meskipun Anda harus memiliki konektivitas internet untuk mengelola aplikasi logika Anda di portal Azure, sifat semi-terhubung dari platform ini memungkinkan Anda menyerap masalah konektivitas internet sementara.
Misalnya, jika Anda memiliki skenario lokal, gambaran umum arsitektur berikut menunjukkan tempat alur kerja aplikasi logika Standar dihosting dan dijalankan dalam model hibrid. Lingkungan yang terhubung sebagian mencakup sumber daya berikut untuk menghosting dan bekerja dengan aplikasi logika Standar Anda, yang disebarkan sebagai sumber daya Azure Container Apps:
- Kluster Azure Kubernetes Service (AKS) dengan dukungan Azure Arc
- Database SQL untuk menyimpan riwayat eksekusi alur kerja, input, dan output secara lokal untuk diproses
- Berbagi file Server Message Block (SMB) untuk menyimpan artefak secara lokal yang digunakan oleh alur kerja Anda
Untuk hosting, Anda juga dapat menyiapkan dan menggunakan kluster Kubernetes yang didukung oleh Azure Arc pada Azure Local atau kluster Kubernetes yang didukung oleh Azure Arc pada Windows Server.
Model penyebaran hibrid menggabungkan kemampuan lokal dan cloud untuk menyediakan solusi integrasi yang fleksibel untuk berbagai kebutuhan. Misalnya, sumber daya aplikasi logika hibrid Anda dapat menyesuaikan sumber daya secara efisien berdasarkan perubahan beban kerja. Penskalakan dinamis ini membantu Anda mengelola biaya komputasi dengan meningkatkan kapasitas selama permintaan puncak dan mengurangi sumber daya saat penggunaan turun.
Untuk informasi selengkapnya, lihat dokumentasi berikut:
- Apa itu Azure Kubernetes Service?
- Konsep inti untuk Azure Kubernetes Service (AKS)
- Lokasi kustom untuk kluster Kubernetes dengan dukungan Azure Arc
- Apa itu Azure Container Apps?
- Azure Container Apps di Azure Arc
- Model dan arsitektur penskalaan dinamis untuk Event-Driven Autoscaling (KEDA) berbasis Kubernetes
Panduan cara ini menunjukkan cara menyiapkan sumber daya lokal yang diperlukan di infrastruktur Anda sehingga Anda dapat membuat, menyebarkan, dan menghosting alur kerja aplikasi logika Standar menggunakan model penyebaran hibrid.
Batasan
Bagian berikut menjelaskan batasan untuk opsi penyebaran hibrid:
Batasan | Deskripsi |
---|---|
Pengelogan data dengan runtime terputus | Dalam mode terhubung sebagian, runtime Azure Logic Apps dapat tetap terputus hingga 24 jam dan masih menyimpan log data. Namun, data pengelogan apa pun yang melewati durasi ini mungkin hilang. |
Wilayah Azure yang didukung | Penyebaran hibrid saat ini tersedia dan hanya didukung di wilayah Azure berikut: - US Tengah - Asia Timur - US Timur - US Tengah Utara -Asia Tenggara - Swedia Tengah - UK Selatan - Eropa Barat - US Barat |
Kluster Kubernetes Azure Arc yang didukung | - Kluster Kubernetes dengan dukungan Azure Arc - Kluster Kubernetes dengan dukungan Azure Arc di Azure Local (sebelumnya Azure Stack HCI) - Kluster Kubernetes dengan dukungan Azure Arc di Windows Server |
Fitur yang tidak didukung tersedia di Azure Logic Apps single-tenant (Standar) dan layanan terkait Azure | - Slot penyebaran - Pelacakan proses bisnis Azure - Kesehatan sumber daya di bawah Dukungan + pemecahan masalah di portal Microsoft Azure - Autentikasi identitas terkelola untuk operasi konektor. Untuk informasi selengkapnya, lihat Batasan untuk membuat alur kerja penyebaran hibrid. |
Prasyarat
Akun dan langganan Azure. Jika Anda tidak memiliki langganan, daftar untuk mendapatkan akun Azure secara gratis.
Pemahaman dasar tentang konsep AKS inti
Persyaratan teknis untuk Azure Container Apps di Kubernetes dengan dukungan Azure Arc, termasuk akses ke registri kontainer publik atau privat, seperti Azure Container Registry.
Penagihan
Untuk informasi tentang cara kerja penagihan, lihat Standar (penyebaran hibrid).
Buatlah kluster Kubernetes
Sebelum dapat menyebarkan aplikasi logika Standar sebagai sumber daya lokal ke kluster Kubernetes dengan dukungan Azure Arc di lingkungan yang terhubung dengan Azure Container Apps, Anda terlebih dahulu memerlukan kluster Kubernetes. Anda nantinya akan menyambungkan kluster ini ke Azure Arc sehingga Anda memiliki kluster Kubernetes dengan dukungan Azure Arc.
Kluster Kubernetes Anda memerlukan konektivitas masuk dan keluar dengan database SQL yang kemudian Anda buat sebagai penyedia penyimpanan dan dengan berbagi file Blok Pesan Server yang nantinya Anda buat untuk penyimpanan artefak. Sumber daya ini harus ada dalam jaringan yang sama.
Catatan
Anda juga dapat membuat kluster Kubernetes pada kluster Azure Local atau Kubernetes di Windows Server dan menerapkan langkah-langkah dalam panduan ini untuk menghubungkan kluster Anda ke Azure Arc dan menyiapkan lingkungan yang terhubung. Untuk informasi selengkapnya tentang Azure Local dan AKS di Windows Server, lihat sumber daya berikut ini:
Atur variabel lingkungan berikut untuk kluster Kubernetes yang ingin Anda buat:
SUBSCRIPTION="<Azure-subscription-ID>" AKS_CLUSTER_GROUP_NAME="<aks-cluster-resource-group-name>" AKS_NAME="<aks-cluster-name>" LOCATION="eastus"
Pengaturan Wajib Nilai Deskripsi ABONEMEN Ya < ID langganan Azure> ID untuk langganan Azure Anda AKS_CLUSTER_GROUP_NAME Ya < aks-cluster-resource-group-name> Nama untuk grup sumber daya Azure untuk digunakan dengan kluster Kubernetes Anda. Nama ini harus unik di seluruh wilayah dan hanya dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), tanda kurung (()), dan periode (.).
Contoh ini menggunakan Hybrid-RG.AKS_NAME Ya < aks-cluster-name> Nama untuk kluster Kubernetes Anda. LOKASI Ya < Azure Region> Wilayah Azure yang mendukung Azure Container Apps di Kubernetes dengan dukungan Azure Arc.
Contoh ini menggunakan eastus.Jalankan perintah berikut baik dengan menggunakan lingkungan Bash di Azure Cloud Shell atau secara lokal menggunakan Azure CLI yang diinstal di komputer Anda:
Catatan
Pastikan untuk mengubah nilai node maksimal dan minimal berdasarkan persyaratan beban Anda.
az login az account set --subscription $SUBSCRIPTION az provider register --namespace Microsoft.KubernetesConfiguration --wait az provider register --namespace Microsoft.Kubernetes --wait az extension add --name k8s-extension --upgrade --yes az group create \ --name $AKS_CLUSTER_GROUP_NAME \ --location $LOCATION az aks create \ --resource-group $AKS_CLUSTER_GROUP_NAME \ --name $AKS_NAME \ --enable-aad \ --generate-ssh-keys \ --enable-cluster-autoscaler \ --max-count 6 \ --min-count 1
Pengaturan Wajib Nilai Deskripsi max count
Tidak < max-node-value> Jumlah maksimum simpul yang digunakan untuk penskala otomatis saat Anda menyertakan enable-cluster-autoscaler
opsi . Nilai ini berkisar dari 1 hingga 1000.min count
Tidak < min-node-value> Jumlah minimum simpul yang digunakan untuk penskala otomatis saat Anda menyertakan enable-cluster-autoscaler
opsi . Nilai ini berkisar dari 1 hingga 1000.Untuk informasi selengkapnya, lihat sumber daya berikut:
Menyambungkan kluster Kubernetes ke Azure Arc
Untuk membuat kluster Kubernetes dengan dukungan Azure Arc, sambungkan kluster Kubernetes anda ke Azure Arc.
Catatan
Anda dapat menemukan langkah-langkah di bagian ini dan seterusnya untuk membuat lingkungan terhubung Anda dalam skrip bernama EnvironmentSetup.ps1, yang dapat Anda temukan di repositori GitHub bernama Azure/logicapps. Anda dapat memodifikasi dan menggunakan skrip ini untuk memenuhi kebutuhan dan skenario Anda.
Skrip tidak ditandatangani, jadi sebelum Anda menjalankan skrip, jalankan perintah Azure PowerShell berikut sebagai administrator untuk mengatur kebijakan eksekusi:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Untuk informasi selengkapnya, lihat Set-ExecutionPolicy.
Pasang ekstensi Azure CLI berikut:
az extension add --name connectedk8s --upgrade --yes az extension add --name k8s-extension --upgrade --yes az extension add --name customlocation --upgrade --yes az extension add --name containerapp --upgrade --yes
Untuk informasi selengkapnya, lihat sumber daya berikut:
Daftarkan namespace yang diperlukan berikut:
az provider register --namespace Microsoft.ExtendedLocation --wait az provider register --namespace Microsoft.Kubernetes --wait az provider register --namespace Microsoft.KubernetesConfiguration --wait az provider register --namespace Microsoft.App --wait az provider register --namespace Microsoft.OperationalInsights --wait
Untuk informasi selengkapnya, lihat sumber daya berikut:
Instal antarmuka baris perintah Kubernetes (CLI) bernama kubectl:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) choco install kubernetes-cli -y
Untuk informasi selengkapnya, lihat sumber daya berikut:
Uji koneksi anda ke kluster dengan mendapatkan file kubeconfig:
az aks get-credentials \ --resource-group $AKS_CLUSTER_GROUP_NAME \ --name $AKS_NAME \ --admin kubectl get ns
Secara default, file kubeconfig disimpan ke jalur , ~/.kube/config. Perintah ini berlaku untuk contoh kluster Kubernetes dan berbeda untuk jenis kluster Kubernetes lainnya.
Untuk informasi selengkapnya, lihat sumber daya berikut:
Instal manajer paket Kubernetes bernama Helm:
choco install kubernetes-helm
Untuk informasi selengkapnya, lihat sumber daya berikut:
Instal driver SMB menggunakan perintah Helm berikut:
Tambahkan repositori bagan yang ditentukan, dapatkan informasi terbaru untuk bagan yang tersedia, dan instal arsip bagan yang ditentukan.
helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts helm repo update helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.15.0
Untuk informasi selengkapnya, lihat sumber daya berikut:
Konfirmasikan bahwa driver SMB diinstal dengan menjalankan perintah kubectl berikut, yang harus mencantumkan smb.csi.k8s.io:
kubectl get csidriver
Untuk informasi selengkapnya, lihat kubectl get.
Menyambungkan kluster Kubernetes anda ke Azure Arc
Berdasarkan penyebaran kluster Kubernetes Anda, atur variabel lingkungan berikut untuk memberikan nama yang akan digunakan untuk grup sumber daya Azure yang berisi kluster dan sumber daya dengan dukungan Azure Arc Anda:
GROUP_NAME="<Azure-Arc-cluster-resource-group-name>"
Pengaturan Wajib Nilai Deskripsi GROUP_NAME Ya < Azure-Arc-cluster-resource-group-name> Nama untuk grup sumber daya Azure untuk digunakan dengan kluster dengan dukungan Azure Arc dan sumber daya lainnya, seperti ekstensi Azure Container Apps, lokasi kustom, dan lingkungan yang terhubung dengan Azure Container Apps Anda. Nama ini harus unik di seluruh wilayah dan hanya dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), tanda kurung (()), dan periode (.).
Contoh ini menggunakan Hybrid-Arc-RG.Buat grup sumber daya Azure untuk kluster dan sumber daya dengan dukungan Azure Arc Anda:
az group create \ --name $GROUP_NAME \ --location $LOCATION
Untuk informasi selengkapnya, lihat sumber daya berikut:
Atur variabel lingkungan berikut untuk memberikan nama untuk kluster Kubernetes dengan dukungan Azure Arc Anda:
CONNECTED_CLUSTER_NAME="$GROUP_NAME-cluster"
Pengaturan Wajib Nilai Deskripsi CONNECTED_CLUSTER_NAME Ya < Azure-Arc-cluster-resource-group-name-cluster> Nama yang digunakan untuk kluster dengan dukungan Azure Arc Anda. Nama ini harus unik di seluruh wilayah dan hanya dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), tanda kurung (()), dan periode (.).
Contoh ini menggunakan Hybrid-Arc-RG-cluster.Sambungkan kluster Kubernetes yang dibuat sebelumnya ke Azure Arc:
az connectedk8s connect \ --resource-group $GROUP_NAME \ --name $CONNECTED_CLUSTER_NAME
Untuk informasi selengkapnya, lihat sumber daya berikut:
Validasi koneksi antara Azure Arc dan kluster Kubernetes Anda:
az connectedk8s show \ --resource-group $GROUP_NAME \ --name $CONNECTED_CLUSTER_NAME
Jika output menunjukkan bahwa nilai properti provisioningState tidak diatur ke Berhasil, jalankan kembali perintah tersebut setelah satu menit.
Untuk informasi selengkapnya, lihat sumber daya berikut:
Membuat ruang kerja Azure Log Analytics
Anda dapat membuat ruang kerja Azure Log Analytics opsional, tetapi direkomendasikan, yang menyediakan akses ke log untuk aplikasi yang berjalan di kluster Kubernetes dengan dukungan Azure Arc.
Atur variabel lingkungan berikut untuk memberikan nama ruang kerja Analitik Log Anda:
WORKSPACE_NAME="$GROUP_NAME-workspace"
Pengaturan Wajib Nilai Deskripsi WORKSPACE_NAME Ya < Azure-Arc-cluster-resource-group-name>-Workspace Nama yang akan digunakan untuk ruang kerja Log Analytics Anda. Nama ini harus unik dalam grup sumber daya Anda.
Contoh ini menggunakan hybrid-Arc-RG-workspace.Buat ruang kerja Analitik Log:
az monitor log-analytics workspace create \ --resource-group $GROUP_NAME \ --workspace-name $WORKSPACE_NAME
Untuk informasi selengkapnya, lihat sumber daya berikut:
Dapatkan ID yang dikodekan base64 dan kunci bersama untuk ruang kerja Analitik Log Anda. Anda memerlukan nilai-nilai ini untuk langkah selanjutnya.
LOG_ANALYTICS_WORKSPACE_ID=$(az monitor log-analytics workspace show \ --resource-group $GROUP_NAME \ --workspace-name $WORKSPACE_NAME \ --query customerId \ --output tsv) LOG_ANALYTICS_WORKSPACE_ID_ENC=[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($LOG_ANALYTICS_WORKSPACE_ID)) LOG_ANALYTICS_KEY=$(az monitor log-analytics workspace get-shared-keys \ --resource-group $GROUP_NAME \ --workspace-name $WORKSPACE_NAME \ --query primarySharedKey \ --output tsv) LOG_ANALYTICS_KEY_ENC=[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($LOG_ANALYTICS_KEY))
Pengaturan Wajib Nilai Deskripsi LOG_ANALYTICS_WORKSPACE_ID Ya ID untuk ruang kerja Analitik Log Anda. LOG_ANALYTICS_WORKSPACE_ID_ENC Ya ID yang dienkode dengan base64 untuk ruang kerja Log Analytics Anda. LOG_ANALYTICS_KEY Ya Kunci bersama untuk ruang kerja Analitik Log Anda. LOG_ANALYTICS_ENC Ya Kunci bersama yang dikodekan base64 untuk ruang kerja Analitik Log Anda. Untuk informasi selengkapnya, lihat sumber daya berikut:
Membuat dan menginstal ekstensi Azure Container Apps
Sekarang, buat dan instal ekstensi Azure Container Apps dengan kluster Kubernetes dengan dukungan Azure Arc sebagai sumber daya lokal.
Penting
Jika Anda ingin menyebarkan ke AKS di Azure Local, sebelum membuat dan menginstal ekstensi Azure Container Apps, pastikan Anda menyiapkan HAProxy atau load balancer kustom.
Atur variabel lingkungan berikut ke nilai berikut:
EXTENSION_NAME="logicapps-aca-extension" NAMESPACE="logicapps-aca-ns" CONNECTED_ENVIRONMENT_NAME="<connected-environment-name>"
Pengaturan Wajib Nilai Deskripsi EXTENSION_NAME Ya logicapps-aca-extension Nama untuk ekstensi Azure Container Apps. NAMESPACE Ya logicapps-aca-ns Namespace kluster tempat Anda ingin menyediakan sumber daya. CONNECTED_ENVIRONMENT_NAME Ya < connected-environment-name> Nama unik yang digunakan untuk lingkungan yang terhubung dengan Azure Container Apps. Nama ini menjadi bagian dari nama domain untuk aplikasi logika Standar yang Anda buat, sebarkan, dan host di lingkungan yang terhubung dengan Azure Container Apps. Buat dan instal ekstensi dengan Log Analytics yang diaktifkan untuk kluster Kubernetes dengan dukungan Azure Arc. Anda nantinya tidak dapat menambahkan Analitik Log ke ekstensi.
az k8s-extension create \ --resource-group $GROUP_NAME \ --name $EXTENSION_NAME \ --cluster-type connectedClusters \ --cluster-name $CONNECTED_CLUSTER_NAME \ --extension-type 'Microsoft.App.Environment' \ --release-train stable \ --auto-upgrade-minor-version true \ --scope cluster \ --release-namespace $NAMESPACE \ --configuration-settings "Microsoft.CustomLocation.ServiceAccount=default" \ --configuration-settings "appsNamespace=${NAMESPACE}" \ --configuration-settings "keda.enabled=true" \ --configuration-settings "keda.logicAppsScaler.enabled=true" \ --configuration-settings "keda.logicAppsScaler.replicaCount=1" \ --configuration-settings "containerAppController.api.functionsServerEnabled=true" \ --configuration-settings "envoy.externalServiceAzureILB=false" \ --configuration-settings "functionsProxyApiConfig.enabled=true" \ --configuration-settings "clusterName=${CONNECTED_ENVIRONMENT_NAME}" \ --configuration-settings "envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group=${GROUP_NAME}" \ --configuration-settings "logProcessor.appLogs.destination=log-analytics" \ --configuration-protected-settings "logProcessor.appLogs.logAnalyticsConfig.customerId=${LOG_ANALYTICS_WORKSPACE_ID_ENC}" \ --configuration-protected-settings "logProcessor.appLogs.logAnalyticsConfig.sharedKey=${LOG_ANALYTICS_KEY_ENC}"
Pengaturan Wajib Deskripsi Microsoft.CustomLocation.ServiceAccount Ya Akun layanan yang dibuat untuk lokasi kustom.
Rekomendasi: Atur nilai ke default.appsNamespace Ya Namespace yang digunakan untuk membuat definisi dan revisi aplikasi. Nilai ini harus cocok dengan namespace rilis untuk ekstensi Azure Container Apps. clusterName Ya Nama lingkungan Kubernetes untuk ekstensi Azure Container Apps yang akan dibuat khusus untuk ekstensi tersebut. keda.enabled Ya Aktifkan Autoscaling berbasis Peristiwa (KEDA) Kubernetes. Nilai ini diperlukan dan harus diatur ke true. keda.logicAppsScaler.enabled Ya Aktifkan penskala Azure Logic Apps di KEDA. Nilai ini diperlukan dan harus diatur ke true. keda.logicAppsScaler.replicaCount Ya Jumlah awal penskalaan aplikasi logika yang diperlukan untuk memulai. Nilai default diatur ke 1. Nilai ini meningkatkan atau menurunkan skala ke 0, jika tidak ada aplikasi logika di lingkungan. containerAppController.api.functionsServerEnabled Ya Aktifkan layanan yang bertanggung jawab untuk mengonversi pemicu alur kerja aplikasi logika ke objek berskala KEDA. Nilai ini diperlukan dan harus diatur ke true. envoy.externalServiceAzureILB Ya Menentukan apakah utusan bertindak sebagai penyeimbang beban internal atau penyeimbang muatan publik.
- true: Utusan bertindak sebagai penyeimbang muatan internal. Runtime Azure Logic Apps hanya dapat diakses dalam jaringan privat.
- false: Utusan bertindak sebagai load balancer publik. Runtime Azure Logic Apps dapat diakses melalui jaringan publik.functionsProxyApiConfig.diaktifkan Ya Aktifkan layanan proksi yang memfasilitasi akses API ke runtime Azure Logic Apps dari portal Azure. Nilai ini diperlukan dan harus diatur ke true. envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group Ya, tetapi hanya ketika kluster yang mendasar adalah Azure Kubernetes Service. Nama untuk grup sumber daya tempat kluster Kubernetes berada. logProcessor.appLogs.destination Tidak Tempat tujuan untuk log aplikasi. Nilainya adalah log-analytics atau none, yang menonaktifkan pencatatan. logProcessor.appLogs.logAnalyticsConfig.customerId Ya, tetapi hanya ketika logProcessor.appLogs.destination diatur ke log-analytics. ID yang dienkode dengan base64 untuk ruang kerja Log Analytics Anda. Pastikan untuk mengonfigurasi parameter ini sebagai pengaturan yang dilindungi. logProcessor.appLogs.logAnalyticsConfig.sharedKey Ya, tetapi hanya ketika logProcessor.appLogs.destination diatur ke log-analytics. Kunci bersama yang dikodekan base64 untuk ruang kerja Analitik Log Anda. Pastikan untuk mengonfigurasi parameter ini sebagai pengaturan yang dilindungi. Untuk informasi selengkapnya, lihat sumber daya berikut:
Simpan nilai ID untuk ekstensi Azure Container Apps untuk digunakan nanti:
EXTENSION_ID=$(az k8s-extension show \ --cluster-type connectedClusters \ --cluster-name $CONNECTED_CLUSTER_NAME \ --resource-group $GROUP_NAME \ --name $EXTENSION_NAME \ --query id \ --output tsv)
Pengaturan Wajib Nilai Deskripsi EXTENSION_ID Ya < ID ekstensi> ID untuk ekstensi Azure Container Apps. Untuk informasi selengkapnya, lihat sumber daya berikut:
Sebelum melanjutkan, tunggu hingga ekstensi terinstal sepenuhnya. Agar sesi terminal Anda menunggu hingga penginstalan selesai, jalankan perintah berikut:
az resource wait \ --ids $EXTENSION_ID \ --custom "properties.provisioningState!='Pending'" \ --api-version "2020-07-01-preview"
Untuk informasi selengkapnya, lihat sumber daya berikut:
- Menginstal ekstensi Azure Container Apps
- az resource wait (menunggu sumber daya az)
Membuat lokasi kustom Anda
Atur variabel lingkungan berikut ke nilai yang ditentukan:
CUSTOM_LOCATION_NAME="my-custom-location" CONNECTED_CLUSTER_ID=$(az connectedk8s show \ --resource-group $GROUP_NAME \ --name $CONNECTED_CLUSTER_NAME \ --query id \ --output tsv)
Pengaturan Wajib Nilai Deskripsi CUSTOM_LOCATION_NAME Ya my-custom-location Nama yang digunakan untuk lokasi kustom Anda. CONNECTED_CLUSTER_ID Ya < AZURE-Arc-cluster-ID> ID untuk kluster Kubernetes dengan dukungan Azure Arc. Untuk informasi selengkapnya, lihat sumber daya berikut:
Buat lokasi kustom:
az customlocation create \ --resource-group $GROUP_NAME \ --name $CUSTOM_LOCATION_NAME \ --host-resource-id $CONNECTED_CLUSTER_ID \ --namespace $NAMESPACE \ --cluster-extension-ids $EXTENSION_ID \ --location $LOCATION
Catatan
Jika Anda mengalami masalah saat membuat lokasi kustom di kluster, Anda mungkin harus mengaktifkan fitur lokasi kustom pada kluster Anda. Langkah ini diperlukan jika Anda masuk ke Azure CLI menggunakan perwakilan layanan, atau jika Anda masuk sebagai pengguna Microsoft Entra dengan izin terbatas pada sumber daya kluster.
Untuk informasi selengkapnya, lihat sumber daya berikut:
Validasi bahwa lokasi kustom berhasil dibuat:
az customlocation show \ --resource-group $GROUP_NAME \ --name $CUSTOM_LOCATION_NAME
Jika output menunjukkan bahwa nilai properti provisioningState tidak diatur ke Berhasil, jalankan kembali perintah tersebut setelah satu menit.
Simpan ID lokasi kustom untuk digunakan di langkah selanjutnya:
CUSTOM_LOCATION_ID=$(az customlocation show \ --resource-group $GROUP_NAME \ --name $CUSTOM_LOCATION_NAME \ --query id \ --output tsv)
Pengaturan Wajib Nilai Deskripsi CUSTOM_LOCATION_ID Ya < my-custom-location-ID> ID untuk lokasi kustom Anda. Untuk informasi selengkapnya, lihat sumber daya berikut:
Membuat lingkungan terhubung Azure Container Apps
Sekarang, buat lingkungan yang terhubung dengan Azure Container Apps untuk digunakan aplikasi logika Standar Anda.
az containerapp connected-env create \
--resource-group $GROUP_NAME \
--name $CONNECTED_ENVIRONMENT_NAME \
--custom-location $CUSTOM_LOCATION_ID \
--location $LOCATION
Untuk informasi selengkapnya, lihat sumber daya berikut:
Memperbarui CoreDNS untuk kluster Kubernetes di Azure Local
Jika kluster Azure Kubernetes dihosting di Azure Local, Anda harus memperbarui konfigurasi CoreDNS secara manual untuk kluster Anda. Langkah ini menambahkan peta konfigurasi baru ke namespace Layanan Azure Kubernetes Anda. Sebagai perbandingan, Azure Logic Apps secara otomatis menyelesaikan langkah ini ketika kluster Kubernetes Anda dihosting di Azure. Namun, untuk kluster yang dihosting di tempat lain, Anda harus menyelesaikan langkah ini secara manual.
Untuk informasi selengkapnya, lihat dokumentasi berikut:
- CoreDNS untuk Kubernetes
- Menyesuaikan CoreDNS untuk Azure Kubernetes Service
- ConfigMaps di Kubernetes
- Namespace - konsep inti untuk Azure Kubernetes Service
Untuk memperbarui konfigurasi CoreDNS, jalankan perintah Azure CLI berikut menggunakan opsi untuk skenario Anda:
az containerapp arc setup-core-dns
Parameter-parameternya | Wajib | Deskripsi |
---|---|---|
--distro |
Ya | Distribusi yang didukung untuk digunakan untuk memperbarui konfigurasi CoreDNS. Nilai yang diizinkan: AksAzureLocal |
--kube-config |
Tidak | Jalur ke (file kubeconfig), yang berisi parameter konfigurasi untuk mengakses kluster Kubernetes. |
--kube-context |
Tidak | Konteks kubeconfig dari host lokal untuk kluster Anda. Di Kubernetes, konteks menentukan cara berkomunikasi dengan kluster Kubernetes. |
skip-ssl-verification |
Tidak | Lewati verifikasi SSL untuk koneksi kluster apa pun. |
--yes -y |
Tidak | Jangan meminta konfirmasi. |
Untuk informasi selengkapnya, seperti parameter global, lihat az containerapp arc setup-core-dns.
Contoh
Siapkan konfigurasi CoreDNS untuk Azure Local:
az containerapp arc setup-core-dns --distro AksAzureLocal
Siapkan konfigurasi CoreDNS untuk Azure Local menggunakan file konfigurasi Kubernetes dan konteks Kubernetes:
az containerapp arc setup-core-dns --distro AksAzureLocal --kube-config <kubeconfig-file-path> --kube-context <kubeconfig-context-name>
Membuat penyedia penyimpanan SQL Server
Alur kerja aplikasi logika standar dalam model penyebaran hibrid menggunakan database SQL sebagai penyedia penyimpanan untuk data yang digunakan oleh alur kerja dan runtime Azure Logic Apps, misalnya, riwayat eksekusi alur kerja, input, output, dan sebagainya.
Database SQL Anda memerlukan konektivitas masuk dan keluar dengan kluster Kubernetes Anda, sehingga sumber daya ini harus ada di jaringan yang sama.
Siapkan salah satu edisi SQL Server berikut ini:
- SQL Server lokal
- Azure SQL Database
- Instans Terkelola Azure SQL
- SQL Server diaktifkan oleh Azure Arc
Untuk informasi selengkapnya, lihat Menyiapkan penyimpanan database SQL untuk alur kerja aplikasi logika Standar.
Konfirmasikan bahwa database SQL Anda berada di jaringan yang sama dengan kluster Kubernetes dengan dukungan Arc dan berbagi file SMB.
Temukan dan simpan string koneksi untuk database SQL yang Anda buat.
Menyiapkan berbagi file SMB untuk penyimpanan artefak
Untuk menyimpan artefak seperti peta, skema, dan rakitan untuk sumber daya aplikasi logika (aplikasi kontainer), Anda harus memiliki berbagi file yang menggunakan protokol Blok Pesan Server (SMB).
Anda memerlukan akses administrator untuk mengatur berbagi file SMB Anda.
Berbagi file SMB Anda harus ada di jaringan yang sama dengan kluster Kubernetes dan database SQL Anda.
Berbagi file SMB Anda memerlukan konektivitas masuk dan keluar dengan kluster Kubernetes Anda. Jika Anda mengaktifkan pembatasan jaringan virtual Azure, pastikan berbagi file Anda ada di jaringan virtual yang sama dengan kluster Kubernetes atau di jaringan virtual yang di-peering.
Jangan gunakan jalur berbagi file yang sama persis untuk beberapa aplikasi logika.
Anda dapat menggunakan berbagi file SMB terpisah untuk setiap aplikasi logika, atau Anda dapat menggunakan folder yang berbeda dalam berbagi file SMB yang sama selama folder tersebut tidak ditumpuk. Sebagai contoh, jangan biarkan satu aplikasi logika menggunakan jalur akar sementara aplikasi logika lainnya menggunakan subfolder.
Untuk menyebarkan aplikasi logika Anda menggunakan Visual Studio Code, pastikan komputer lokal dengan Visual Studio Code dapat mengakses berbagi file.
Siapkan file sharing SMB Anda di Windows
Pastikan berkas berbagi SMB Anda berada di jaringan virtual yang sama dengan kluster tempat Anda memasangnya.
Di Windows, buka folder yang ingin Anda bagikan, buka menu pintasan, pilih Properti.
Pada tab Berbagi , pilih Bagikan.
Dalam kotak yang terbuka, pilih orang yang ingin Anda akses ke berbagi file.
Pilih Bagikan, dan salin tautan untuk jalur jaringan.
Jika komputer lokal Anda tidak tersambung ke domain, ganti nama komputer di jalur jaringan dengan alamat IP.
Simpan alamat IP untuk digunakan nanti sebagai nama host.
Menyiapkan Azure Files sebagai berbagi file SMB Anda
Atau, untuk tujuan pengujian, Anda dapat menggunakan Azure Files sebagai berbagi file SMB. Pastikan berkas berbagi SMB Anda berada di jaringan virtual yang sama dengan kluster tempat Anda memasangnya.
Di portal Azure, buat akun penyimpanan Azure.
Dari menu akun penyimpanan, di bawah Penyimpanan data, pilih Berbagi file.
Dari toolbar halaman Berbagi File, pilih + Berbagi File, dan berikan informasi yang diperlukan untuk berbagi file SMB Anda.
Setelah penyebaran selesai, pilih Buka sumber daya.
Pada menu berbagi file, pilih Gambaran Umum, jika tidak dipilih.
Pada toolbar halaman Gambaran Umum , pilih Sambungkan. Pada panel Sambungkan , pilih Perlihatkan skrip.
Salin nilai berikut dan simpan di tempat yang aman untuk digunakan nanti:
- Nama host berbagi file, misalnya, mystorage.file.core.windows.net
- Jalur berbagi file
- Nama pengguna tanpa
localhost\
- Kata sandi
Pada toolbar halaman Gambaran Umum , pilih + Tambahkan direktori, dan berikan nama yang akan digunakan untuk direktori. Simpan nama ini untuk digunakan nanti.
Anda memerlukan nilai tersimpan ini untuk memberikan informasi berbagi file SMB saat menyebarkan sumber daya aplikasi logika Anda.
Untuk informasi selengkapnya, lihat Membuat berbagi file Azure SMB.
Mengonfirmasi koneksi berbagi file SMB
Untuk menguji koneksi antara kluster Kubernetes dengan dukungan Arc dan berbagi file SMB Anda, dan untuk memeriksa apakah berbagi file Anda disiapkan dengan benar, ikuti langkah-langkah berikut:
Jika berbagi file SMB Anda tidak berada di kluster yang sama, konfirmasikan bahwa operasi ping berfungsi dari kluster Kubernetes berkemampuan Arc ke komputer virtual yang memiliki berbagi file SMB Anda. Untuk memeriksa apakah operasi ping berfungsi, ikuti langkah-langkah berikut:
Di kluster Kubernetes dengan dukungan Arc, buat pod pengujian yang menjalankan citra Linux apa pun, seperti BusyBox atau Ubuntu.
Buka kontainer di pod Anda, dan instal paket iputils-ping dengan menjalankan perintah Linux berikut:
apt-get update apt-get install iputils-ping
Untuk mengonfirmasi bahwa berbagi file SMB Anda telah disiapkan dengan benar, ikuti langkah-langkah berikut:
Di pod pengujian Anda dengan gambar Linux yang sama, buat folder yang memiliki jalur bernama mnt/smb.
Buka direktori akar atau beranda yang berisi folder mnt .
Jalankan perintah berikut:
- mount -t cifs //{ip-address-smb-computer}/{file-share-name}/mnt/smb -o username={user-name}, password={password}
Untuk mengonfirmasi bahwa artefak diunggah dengan benar, sambungkan ke jalur berbagi file SMB, dan periksa apakah file artefak ada di folder yang benar yang Anda tentukan selama penyebaran.
Mengoptimalkan performa untuk penyebaran hibrid
Untuk memaksimalkan efisiensi dan performa untuk aplikasi logika Standar dalam penyebaran hibrid, Anda perlu memahami cara menganalisis dan mengevaluasi aspek utama seperti CPU, alokasi memori, dan mekanisme penskalaan sehingga Anda bisa mendapatkan wawasan berharga sekeliling pengoptimalan. Elemen utama lainnya termasuk infrastruktur Kubernetes yang mendasar, konfigurasi SQL, dan penyiapan penskalaan, yang dapat secara signifikan memengaruhi efisiensi alur kerja dan performa keseluruhan. Untuk informasi selengkapnya, lihat Analisis performa penyebaran hibrid dan rekomendasi pengoptimalan.
Langkah berikutnya
Membuat alur kerja aplikasi logika Standar untuk penyebaran hibrid pada infrastruktur Anda sendiri