App Service, Functions, dan Logic Apps pada Azure Arc (Pratinjau)
Anda dapat menjalankan App Service, Functions, dan Logic Apps pada kluster Kubernetes yang didukung Azure Arc. Kluster Kubernetes dapat menjadi tidak lokal atau dihosting di pihak cloud ketiga. Pendekatan ini mendukung pengembang aplikasi untuk memanfaatkan fitur App Service. Pada saat yang sama, ini memungkinkan administrator TI mereka menjaga kepatuhan perusahaan dengan menghosting aplikasi App Service pada infrastruktur internal. Ini juga memungkinkan operator IT lain melindungi investasi mereka sebelumnya di penyedia cloud lainnya dengan menjalankan App Service pada kluster Kubernetes yang ada.
Catatan
Untuk mempelajari cara menyiapkan kluster Kubernetes untuk App Service, Functions, dan Logic Apps, lihat Membuat lingkungan App Service Kubernetes (Pratinjau).
Dalam kebanyakan kasus, pengembang aplikasi tidak perlu tahu apa-apa selain cara menyebarkan ke wilayah Azure yang benar yang mewakili lingkungan Kubernetes yang disebarkan. Bagi operator yang menyediakan lingkungan dan memelihara infrastruktur Kubernetes yang mendasarinya, Anda perlu mengetahui sumber daya Azure berikut:
- Kluster yang terhubung, yaitu proyeksi Azure dari infrastruktur Kubernetes Anda. Untuk informasi selengkapnya, lihat Apa itu Kubernetes yang didukung Azure Arc?.
- Ekstensi kluster, yang merupakan sub-sumber daya dari sumber daya kluster yang terhubung. Ekstensi App Service akan menginstal Pod yang diperlukan ke dalam kluster yang terhubung. Untuk informasi selengkapnya tentang ekstensi kluster, lihat Ekstensi kluster pada Kubernetes yang didukung Azure Arc.
- Lokasi khusus, yang menggabungkan sekelompok ekstensi dan memetakannya ke ruang nama untuk sumber daya yang dibuat. Untuk informasi selengkapnya, lihat Lokasi kustom di atas Kubernetes yang didukung Azure Arc.
- Lingkungan App Service Kubernetes, yang memungkinkan konfigurasi umum di seluruh aplikasi tetapi tidak terkait dengan operasi kluster. Secara konseptual, aplikasi ini disebarkan ke sumber daya lokasi kustom, dan pengembang aplikasi membuat aplikasi ke lingkungan ini. Sumber daya ini dijelaskan secara lebih rinci di lingkungan App Service Kubernetes.
Batasan pratinjau publik
Batasan publik berikut berlaku untuk lingkungan App Service Kubernetes. Daftar batasan ini diperbarui saat perubahan dan fitur tersedia.
Pembatasan | Detail |
---|---|
Wilayah Azure yang didukung | US Timur, Eropa Barat |
Persyaratan jaringan kluster | Harus mendukung LoadBalancer jenis layanan |
Persyaratan OS simpul | Hanya Linux . |
Persyaratan penyimpanan kluster | Harus memiliki kelas penyimpanan yang terlampir ke kluster yang tersedia untuk digunakan oleh ekstensi guna mendukung penyebaran dan pembangunan aplikasi berbasis kode jika berlaku |
Fitur: Penjaringan | Tidak tersedia (mengandalkan jaringan kluster) |
Fitur: Identitas terkelola | Tidak tersedia |
Fitur: Referensi Key Vault | Tidak tersedia (tergantung pada identitas terkelola) |
Fitur: Tarik gambar dari ACR dengan identitas terkelola | Tidak tersedia (tergantung pada identitas terkelola) |
Fitur: Pengeditan di portal untuk Functions dan Logic Apps | Tidak tersedia |
Fitur: Daftar portal Fungsi atau kunci | Tidak tersedia jika kluster tidak dapat dijangkau secara publik |
Fitur: Penerbitan FTP | Tidak tersedia |
Log | Log Analytics harus dikonfigurasi dengan ekstensi kluster; bukan per situs |
Pod yang dibuat dengan ekstensi App Service
Saat ekstensi App Service dipasang pada kluster Kubernetes yang didukung Azure Arc, Anda akan melihat beberapa pod yang dibuat di namespace layanan rilis yang telah ditentukan. Pod ini memungkinkan kluster Kubernetes menjadi ekstensi penyedia sumber daya Microsoft.Web
di Azure dan mendukung manajemen dan pengoperasian aplikasi. Secara umum, Anda dapat memilih untuk menginstal ekstensi KEDA untuk penskalaan berbasis peristiwa.
Tabel berikut menjelaskan peran masing-masing Pod yang dibuat secara default:
Pod | Deskripsi |
---|---|
<extensionName>-k8se-app-controller |
Pod operator inti yang membuat sumber daya pada kluster dan mempertahankan kondisi komponen. |
<extensionName>-k8se-envoy |
Lapisan proxy ujung-depan untuk semua permintaan data-plane. Ini merutekan lalu lintas masuk ke aplikasi yang benar. |
<extensionName>-k8se-activator |
Tujuan perutean alternatif untuk membantu aplikasi yang telah diskalakan ke nol, sementara sistem mendapatkan instan pertama yang tersedia. |
<extensionName>-k8se-build-service |
Mendukung operasi penyebaran dan melayani Fitur alat lanjutan. |
<extensionName>-k8se-http-scaler |
Memantau volume permintaan masuk untuk memberikan informasi penskalaan ke KEDA. |
<extensionName>-k8se-img-cacher |
Tarik tempat penampung dan gambar aplikasi ke dalam tembolokan lokal pada node yang. |
<extensionName>-k8se-log-processor |
Kumpulkan log dari aplikasi dan komponen lain lalu kirimkan ke Log Analytics. |
placeholder-azure-functions-* |
Digunakan untuk mempercepat awal dingin untuk Azure Functions. |
Lingkungan App Service Kubernetes
Sumber daya lingkungan App Service Kubernetes diperlukan sebelum aplikasi dapat dibuat. Ini memungkinkan konfigurasi umum untuk aplikasi di lokasi kustom, seperti akhiran DNS default.
Hanya satu sumber daya lingkungan Kubernetes yang dapat dibuat di lokasi khusus. Dalam kebanyakan kasus, pengembang yang membuat dan menerapkan aplikasi tidak perlu mengetahui sumber daya secara langsung. Itu dapat langsung disimpulkan dari ID lokasi khusus yang disediakan. Namun, saat menentukan templat Azure Resource Manager, sumber daya paket apa pun perlu merujuk ID sumber daya lingkungan secara langsung. Nilai lokasi kustom dari paket dan lingkungan yang ditentukan harus cocok.
FAQ untuk App Service, Functions, dan Logic Apps di Azure Arc (Pratinjau)
- Berapa harganya?
- Apakah aplikasi Windows dan Linux didukung?
- Dapatkah ekstensi diinstal pada simpul Windows?
- Tumpukan aplikasi bawaan mana yang didukung?
- Apakah semua jenis penyebaran aplikasi didukung?
- Fitur App Service mana yang didukung?
- Apakah semua fitur jaringan didukung?
- Apakah identitas terkelola didukung?
- Apakah ada batas penskalaan?
- Log apa yang dikumpulkan?
- Apa yang harus saya lakukan jika melihat kesalahan pendaftaran penyedia?
- Dapatkah saya menyebarkan ekstensi layanan Aplikasi pada kluster berbasis Arm64?
- Distribusi Kubernetes mana yang dapat saya sebarkan ekstensinya?
Berapa harganya?
App Service di Azure Arc gratis selama pratinjau publik.
Apakah aplikasi Windows dan Linux didukung?
Hanya aplikasi berbasis Linux yang didukung, baik kode maupun kontainer kustom. Aplikasi Windows tidak didukung.
Dapatkah ekstensi diinstal pada simpul Windows?
Tidak, ekstensi tidak dapat diinstal pada simpul Windows. Ekstensi ini hanya mendukung penginstalan pada simpul Linux.
Tumpukan aplikasi bawaan mana yang didukung?
Semua tumpukan Linux bawaan yang didukung.
Apakah semua jenis penyebaran aplikasi didukung?
Penyebaran FTP tidak didukung. Saat ini az webapp up
juga tidak didukung. Metode penerapan lainnya didukung, termasuk Git, ZIP, CI/CD, Visual Studio, dan Visual Studio Code.
Fitur App Service mana yang didukung?
Selama periode pratinjau, fitur App Service tertentu sedang divalidasi. Saat didukung, opsi navigasi kiri mereka di portal Azure akan diaktifkan. Fitur yang belum didukung tetap berwarna abu-abu.
Apakah semua fitur jaringan didukung?
Tidak. Fitur jaringan seperti koneksi hibrid atau integrasi Virtual Network, tidak didukung. Dukungan pembatasan akses ditambahkan pada April 2022. Jaringan harus ditangani secara langsung dalam aturan jaringan di kluster Kubernetes itu sendiri.
Apakah identitas terkelola didukung?
Tidak. Aplikasi tidak dapat ditetapkan sebagai identitas terkelola saat berjalan di Azure Arc. Jika aplikasi Anda memerlukan identitas untuk bekerja dengan sumber daya Azure lain, pertimbangkan untuk menggunakan perwakilan layanan aplikasi.
Apakah ada batas penskalaan?
Semua aplikasi yang digunakan dengan Azure App Service di Kubernetes dengan Azure Arc dapat menskalakan dalam batas-batas kluster Kubernetes yang mendasarinya. Jika Kubernetes Cluster yang mendasari kehabisan sumber daya komputasi yang tersedia (CPU dan memori terutama), maka aplikasi hanya akan dapat menskalakan ke jumlah instans aplikasi yang Kubernetes dapat jadwalkan dengan sumber daya yang tersedia.
Log apa yang dikumpulkan?
Log untuk komponen sistem dan aplikasi Anda ditulis ke output standar. Kedua jenis log dapat dikumpulkan untuk analisis menggunakan alat Kubernetes standar. Anda juga dapat mengonfigurasi ekstensi kluster App Service dengan ruang kerja Log Analytics, dan mengirimkan semua log ke ruang kerja tersebut.
Secara default, log dari komponen sistem dikirim ke tim Azure. Log aplikasi tidak dikirim. Anda dapat mencegah log ini ditransfer oleh pengaturan logProcessor.enabled=false
sebagai pengaturan konfigurasi ekstensi. Pengaturan konfigurasi ini juga akan menonaktifkan penerusan aplikasi ke ruang kerja Log Analytics Anda. Menonaktifkan prosesor log dapat memengaruhi waktu yang diperlukan untuk setiap kasus dukungan, dan Anda akan diminta untuk mengumpulkan log dari output standar melalui beberapa cara lain.
Apa yang harus saya lakukan jika melihat kesalahan pendaftaran penyedia?
Saat membuat sumber daya lingkungan Kubernetes, beberapa langganan mungkin melihat kesalahan "Tidak ditemukan penyedia sumber daya terdaftar". Detail kesalahan mungkin menyertakan sekumpulan lokasi dan versi API yang dianggap valid. Jika ini terjadi, mungkin langganan perlu didaftarkan ulang ke penyedia Microsoft.Web, operasi yang tidak berdampak pada aplikasi atau API yang ada. Untuk mendaftar ulang, gunakan Azure CLI untuk menjalankan az provider register --namespace Microsoft.Web --wait
. Kemudian coba kembali perintah lingkungan Kubernetes.
Dapatkah saya menyebarkan ekstensi layanan Aplikasi pada kluster berbasis Arm64?
Kluster berbasis Arm64 saat ini tidak didukung.
Distribusi Kubernetes mana yang dapat saya sebarkan ekstensinya?
Ekstensi ini telah divalidasi pada AKS, AKS di Azure Local, Google Kubernetes Engine, Amazon Elastic Kubernetes Service, dan Kubernetes Cluster API.
Catatan Rilis Ekstensi
Ekstensi layanan aplikasi v 0.9.0 (Mei 2021)
- Rilis pratinjau publik awal dari ekstensi layanan Aplikasi.
- Dukungan untuk penyebaran berbasis kode dan kontainer dari Aplikasi Web, Fungsi, dan Logika.
- Dukungan runtime aplikasi web - .NET 3.1 dan 5.0; Node JS 12 dan 14; Python 3.6, 3.7, dan 3.8; PHP 7.3 dan 7.4; Ruby 2.5, 2.5.5, 2.6, dan 2.6.2; Java SE 8u232, 8u242, 8u252, 11.05, 11.06 dan 11.07; Tomcat 8.5, 8.5.41, 8.5.53, 8.5.57, 9.0, 9.0.20, 9.0.33, dan 9.0.37.
Ekstensi layanan aplikasi v 0.10.0 (November 2021)
- Persyaratan yang dihapus untuk Alamat IP Statik yang telah ditetapkan sebelumnya yang diperlukan untuk penugasan ke titik akhir Envoy
- Tingkatkan Keda ke v2.4.0
- Tingkatkan Envoy ke v1.19.0
- Tingkatkan runtime Azure Function ke v3.3.1
- Atur jumlah replika default Pengontrol Aplikasi dan Pengontrol Envoy ke 2 untuk menambah stabilitas lebih lanjut
Jika ekstensi Anda berada di versi stabil dan auto-upgrade-minor-version diatur ke true, ekstensi akan ditingkatkan secara otomatis. Untuk meningkatkan ekstensi secara manual ke versi terbaru, Anda dapat menjalankan perintah:
az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.10.0
Ekstensi layanan aplikasi v 0.11.0 (Desember 2021)
- Application Insights yang Ditambahkan dukungan untuk Aplikasi Web Java dan .NET
- Menambahkan dukungan untuk Aplikasi Web .NET 6.0
- Hapus .NET Core 2.0
- Mengatasi masalah yang menyebabkan operasi swap slot gagal
- Mengatasi masalah yang dialami pelanggan selama pembuatan aplikasi web Ruby
Jika ekstensi Anda berada di versi stabil dan auto-upgrade-minor-version diatur ke true, ekstensi akan ditingkatkan secara otomatis. Untuk meningkatkan ekstensi secara manual ke versi terbaru, Anda dapat menjalankan perintah:
az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.11.0
Ekstensi layanan aplikasi v 0.11.1 (Desember 2021)
- Rilis kecil untuk mengatasi masalah dengan pembaruan CRD
Jika ekstensi Anda berada di versi stabil dan auto-upgrade-minor-version diatur ke true, ekstensi akan ditingkatkan secara otomatis. Untuk meningkatkan ekstensi secara manual ke versi terbaru, Anda dapat menjalankan perintah:
az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.11.1
Ekstensi layanan aplikasi v 0.12.0 (Januari 2022)
- Dukungan untuk proksi keluar
- Dukungan untuk build paralel dalam layanan build
- Meningkatkan Envoy ke v1.1.20.1
- Mengatasi masalah dengan dukungan Application Insights untuk Aplikasi .NET
Jika ekstensi Anda berada di versi stabil dan auto-upgrade-minor-version diatur ke true, ekstensi akan ditingkatkan secara otomatis. Untuk meningkatkan ekstensi secara manual ke versi terbaru, Anda dapat menjalankan perintah:
az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.0
Ekstensi layanan aplikasi v 0.12.1 (Maret 2022)
- Mengatasi masalah dengan dukungan proksi keluar untuk mengaktifkan masuk ke Ruang kerja Analitik Log
Jika ekstensi Anda berada di versi stabil dan auto-upgrade-minor-version diatur ke true, ekstensi akan ditingkatkan secara otomatis. Untuk meningkatkan ekstensi secara manual ke versi terbaru, Anda dapat menjalankan perintah:
az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.1
Ekstensi layanan aplikasi v 0.12.2 (Maret 2022)
- Pembaruan untuk mengatasi kegagalan peningkatan saat memutakhirkan dari v 0.12.0 saat panjang nama ekstensi lebih dari 35 karakter
Jika ekstensi Anda berada di versi stabil dan auto-upgrade-minor-version diatur ke true, ekstensi akan ditingkatkan secara otomatis. Untuk meningkatkan ekstensi secara manual ke versi terbaru, Anda dapat menjalankan perintah:
az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.2
Ekstensi layanan aplikasi v 0.13.0 (April 2022)
- Menambahkan dukungan untuk integrasi Application Insights tanpa kode untuk aplikasi Node JS
- Menambahkan dukungan untuk Pembatasan Akses melalui CLI
- Detail lebih lanjut yang disediakan saat ekstensi gagal diinstal, untuk membantu memecahkan masalah
Jika ekstensi Anda berada di versi stabil dan auto-upgrade-minor-version diatur ke true, ekstensi akan ditingkatkan secara otomatis. Untuk meningkatkan ekstensi secara manual ke versi terbaru, Anda dapat menjalankan perintah:
az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.0
Ekstensi layanan aplikasi v 0.13.1 (April 2022)
- Pembaruan untuk mengatasi kegagalan peningkatan yang terlihat selama peningkatan otomatis kluster ke v 0.13.0
Jika ekstensi Anda berada di versi stabil dan auto-upgrade-minor-version diatur ke true, ekstensi akan ditingkatkan secara otomatis. Untuk meningkatkan ekstensi secara manual ke versi terbaru, Anda dapat menjalankan perintah:
az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.1
Ekstensi layanan aplikasi v 0.13.5 (Desember 2023)
- Pembaruan untuk mendukung Kubernetes versi 1.26 ke atas
- Perbarui Envoy ke 1.2.1
- Memperbarui Keda ke v2.10.0
- Memperbarui EasyAuth ke v1.6.20
- Memperbarui gambar dasar untuk bahasa yang didukung
Jika ekstensi Anda berada di versi stabil dan auto-upgrade-minor-version diatur ke true, ekstensi akan ditingkatkan secara otomatis. Untuk meningkatkan ekstensi secara manual ke versi terbaru, Anda dapat menjalankan perintah:
az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.5