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.
Saat Anda merencanakan dan mengembangkan fungsi individual untuk dijalankan di Azure Functions, Anda biasanya berfokus pada kode itu sendiri. Azure Functions memudahkan untuk menyebarkan hanya proyek kode Anda ke aplikasi fungsi di Azure. Saat Anda menyebarkan proyek ke aplikasi fungsi Linux, kode Anda berjalan dalam kontainer yang dibuat untuk Anda secara otomatis dan terintegrasi dengan alat manajemen Functions.
Functions juga mendukung penyebaran aplikasi fungsi dalam kontainer. Pada penyebaran berkontainer, Anda membuat instans aplikasi fungsi Anda sendiri di kontainer Docker lokal berdasarkan citra dasar yang didukung. Anda kemudian dapat mendistribusikan aplikasi fungsi terkontainer ini ke lingkungan hosting di Azure. Membuat kontainer aplikasi fungsi Anda sendiri memungkinkan Anda menyesuaikan atau mengontrol lingkungan runtime langsung kode fungsi Anda.
Penting
Saat membuat kontainer Anda sendiri, Anda diharuskan untuk menjaga gambar dasar kontainer Anda diperbarui ke gambar dasar terbaru yang didukung. Gambar dasar yang didukung untuk Azure Functions bersifat spesifik untuk masing-masing bahasa dan ditemukan di repositori gambar dasar Azure Functions.
Tim Functions berkomitmen untuk menerbitkan pembaruan bulanan untuk gambar dasar ini. Pembaruan reguler mencakup pembaruan versi minor terbaru dan perbaikan keamanan untuk runtime Functions dan bahasa. Anda harus memperbarui kontainer Anda secara teratur dari gambar dasar terbaru dan menyebarkan ulang versi kontainer Anda yang diperbarui. Untuk informasi selengkapnya, lihat Memelihara kontainer kustom.
Pilihan hosting kontainer
Ada beberapa opsi untuk menghosting aplikasi fungsi kontainer Anda di Azure:
Opsi Hosting | Keuntungan |
---|---|
Azure Container Apps | Azure Functions menyediakan dukungan terintegrasi untuk mengembangkan, menyebarkan, dan mengelola aplikasi fungsi dalam kontainer di Azure Container Apps. Integrasi ini memungkinkan Anda mengelola aplikasi menggunakan alat dan halaman Functions yang sama di portal Microsoft Azure. Gunakan Azure Container Apps untuk menghosting kontainer aplikasi fungsi Anda di lingkungan yang sama dengan layanan mikro, API, situs web, alur kerja, atau program kontainer lain yang dihosting. Hosting Container Apps memungkinkan Anda menjalankan fungsi di lingkungan berbasis Kubernetes terkelola dengan dukungan bawaan untuk pemantauan sumber terbuka, mTLS, Dapr, dan KEDA. Mendukung skala-ke-nol dan menyediakan model hosting tanpa server dengan bayar sesuai penggunaan. Anda juga dapat meminta perangkat keras khusus, bahkan GPU, dengan menggunakan profil beban kerja. Opsi hosting yang direkomendasikan untuk aplikasi fungsi kontainer n Azure. |
Kluster Kubernetes dengan dukungan Azure Arc (pratinjau) | Anda dapat menghosting aplikasi fungsi di kluster Kubernetes dengan dukungan Azure Arc sebagai penyebaran khusus kode atau dalam kontainer Linux kustom. Azure Arc memungkinkan Anda melampirkan kluster Kubernetes sehingga Anda dapat mengelola dan mengonfigurasinya di Azure. Menghosting kontainer Azure Functions pada kluster Kubernetes dengan dukungan Azure Arc saat ini dalam pratinjau. Untuk informasi selengkapnya, lihat Bekerja dengan kontainer dan Azure Functions. |
Azure Functions | Anda dapat menghosting aplikasi fungsi dalam kontainer di Azure Functions dengan menjalankan kontainer dalam paket Elastic Premium atau App Service (Khusus). Gunakan hosting Container Apps untuk dukungan kontainer yang kaya dari Container Apps. Hosting paket premium memberi Anda manfaat penskalaan dinamis. Anda mungkin ingin menggunakan hosting Paket khusus untuk memanfaatkan sumber daya paket App Service yang tidak digunakan yang ada. |
Kubernetes | Karena runtime Azure Functions memberikan fleksibilitas dalam menghosting di mana dan bagaimana Anda inginkan, Anda dapat menghosting dan mengelola kontainer aplikasi fungsi anda langsung di kluster Kubernetes. KEDA (Kubernetes-based Event Driven Autoscaling) terintegrasi secara mulus dengan runtime dan alat Azure Functions untuk memberikan skala yang digerakkan oleh peristiwa di Kubernetes. Penting: Hosting Kubernetes dari aplikasi fungsi kontainer Anda, baik dengan menggunakan KEDA atau dengan penyebaran langsung, adalah upaya sumber terbuka yang dapat Anda gunakan secara gratis. Dukungan upaya terbaik untuk skenario hosting ini hanya disediakan oleh kontributor dan oleh komunitas. Anda bertanggung jawab untuk memelihara kontainer aplikasi fungsi Anda sendiri dalam kluster, bahkan saat menyebarkannya ke Azure Kubernetes Service (AKS). |
Perbandingan dukungan fitur
Tingkat di mana berbagai fitur dan perilaku Azure Functions didukung saat menjalankan aplikasi fungsi Anda dalam kontainer tergantung pada opsi hosting kontainer yang Anda pilih.
Fitur/perilaku | Aplikasi Kontainer (terintegrasi) | Aplikasi Kontainer (langsung) | Paket premium | Paket khusus | Kubernetes |
---|---|---|---|---|---|
Dukungan produk | Ya | Tidak | Ya | Ya | Tidak |
Integrasi Functions portal | Ya | Tidak | Ya | Ya | Tidak |
Penskalakan berbasis peristiwa | Ya5 | Ya (aturan skala) | Ya | Tidak | Tidak |
Skala maksimum (instans) | 10001 | 10001 | 1002 | 10-303 | Bervariasi menurut kluster |
Mengurangi hingga nol instance | Ya | Ya | Tidak | Tidak | KEDA |
Batas waktu eksekusi | Tak terbatas6 | Tak terbatas6 | Tak terbatas7 | Tidak terikat8 | Tidak |
Penyebaran *Core Tools* | func azurecontainerapps |
Tidak | Tidak | Tidak | func kubernetes |
Revisi | Tidak | Ya | Tidak | Tidak | Tidak |
Slot Penyebaran | Tidak | Tidak | Ya | Ya | Tidak |
Streaming log | Ya | Ya | Ya | Ya | Tidak |
Akses konsol | Saat ini tidak tersedia4 | Ya | Ya (menggunakan Kudu) | Ya (menggunakan Kudu) | Ya (dalam pod-pod menggunakan kubectl ) |
Mitigasi mulai dingin | Replika minimum | Aturan skala | Instans yang selalu siap/dihangatkan sebelumnya | N/a | N/a |
Autentikasi Layanan Aplikasi | Saat ini tidak tersedia4 | Ya | Ya | Ya | Tidak |
Nama domain kustom | Saat ini tidak tersedia4 | Ya | Ya | Ya | Tidak |
Sertifikat kunci privat | Saat ini tidak tersedia4 | Ya | Ya | Ya | Tidak |
Jaringan virtual | Ya | Ya | Ya | Ya | Ya |
Zona ketersediaan | Ya | Ya | Ya | Ya | Ya |
Diagnostik | Saat ini tidak tersedia4 | Ya | Ya | Ya | Tidak |
Perangkat keras khusus | Ya (profil beban kerja) | Ya (profil beban kerja) | Tidak | Ya | Ya |
GPU khusus terdedikasi | Ya (profil beban kerja) | Ya (profil beban kerja) | Tidak | Tidak | Ya |
Jumlah memori/CPU yang dapat dikonfigurasi | Ya | Ya | Tidak | Tidak | Ya |
Opsi "Pemberian gratis" | Ya | Ya | Tidak | Tidak | Tidak |
Detail harga | Penagihan Container Apps | Penagihan Container Apps | Penagihan rencana premium | Penagihan paket khusus | Harga AKS |
Persyaratan nama layanan | 2-32 karakter: terbatas pada huruf kecil, angka, dan tanda hubung. Harus dimulai dengan huruf dan diakhir dengan karakter alfanumerik. | 2-32 karakter: terbatas pada huruf kecil, angka, dan tanda hubung. Harus dimulai dengan huruf dan diakhir dengan karakter alfanumerik. | Kurang dari 64 karakter: terbatas pada karakter alfanumerik dan tanda hubung. Tidak dapat dimulai dengan atau diakhir dalam tanda hubung. | Kurang dari 64 karakter: terbatas pada karakter alfanumerik dan tanda hubung. Tidak dapat dimulai dengan atau diakhir dalam tanda hubung. | Kurang dari 253 karakter: terbatas pada karakter alfanumerik dan tanda hubung. Harus dimulai dan diakhir dengan karakter alfanumerik. |
- Pada Container Apps, defaultnya adalah 10 instans, tetapi Anda dapat mengatur jumlah maksimum replika, yang memiliki maksimum keseluruhan 1000. Pengaturan ini dihormati selama ada cukup kuota inti yang tersedia. Saat membuat aplikasi fungsi dari portal Azure, Anda dibatasi hingga 300 instans.
- Di beberapa wilayah, aplikasi Linux pada paket Premium dapat menskalakan ke 100 instans. Untuk informasi selengkapnya, lihat artikel paket Premium.
- Untuk batas tertentu untuk berbagai opsi paket App Service, lihat batas paket App Service.
- Paritas fitur adalah tujuan hosting terintegrasi di Azure Container Apps.
- Memerlukan KEDA; didukung oleh sebagian besar pemicu. Untuk mempelajari pemicu mana yang mendukung penskalaan berbasis peristiwa, lihat Pertimbangan untuk hosting Container Apps.
- Ketika jumlah minimum replika diatur ke nol, batas waktu default bergantung pada pemicu tertentu yang digunakan dalam aplikasi.
- Tidak ada durasi batas waktu eksekusi maksimum yang diberlakukan. Namun, masa tenggang yang diberikan untuk eksekusi fungsi adalah 60 menit selama penskalaan, dan masa tenggang 10 menit diberikan selama pembaruan platform.
- Mengharuskan paket App Service diatur menjadi Always On. Masa tenggang 10 menit diberikan selama pembaruan platform.
Mempertahankan kontainer kustom
Saat membuat kontainer Anda sendiri, Anda diharuskan untuk menjaga gambar dasar kontainer Anda diperbarui ke gambar dasar terbaru yang didukung. Gambar dasar yang didukung untuk Azure Functions bersifat spesifik untuk masing-masing bahasa dan ditemukan di repositori gambar dasar Azure Functions.
Tim Functions berkomitmen untuk menerbitkan pembaruan bulanan untuk gambar dasar ini. Pembaruan reguler mencakup pembaruan versi minor terbaru dan perbaikan keamanan untuk runtime Functions dan bahasa. Anda harus memperbarui kontainer Anda secara teratur dari gambar dasar terbaru dan menyebarkan ulang versi kontainer Anda yang diperbarui.
Saat gambar dasar dikelola oleh Functions, seperti dalam penyebaran standar di Linux, aplikasi Anda tetap diperbarui secara otomatis oleh pembaruan gambar dasar reguler yang dirilis oleh tim Functions. Untuk kontainer nonkustom tersebut, aplikasi Anda akan diperbarui agar dapat berjalan di image dasar yang memiliki versi minor baru atau versi runtime host yang telah diperbaiki.
Saat Anda membuat atau menyebarkan aplikasi kontainer Anda sendiri menggunakan gambar kustom, Anda bertanggung jawab untuk memastikan bahwa gambar kustom Anda tetap up-to-tanggal dengan gambar dasar yang dirilis. Selain fitur dan peningkatan baru, pembaruan gambar dasar ini juga dapat menyertakan pembaruan keamanan yang penting untuk aplikasi Anda. Untuk memastikan aplikasi Anda terlindungi, pastikan Anda tetap mendapatkan informasi terbaru.
Dalam beberapa kasus, kami diharuskan untuk membuat perubahan tingkat platform yang dapat berarti bahwa aplikasi dalam kontainer kustom menggunakan gambar dasar lama mungkin berhenti berfungsi dengan baik. Untuk perubahan besar tersebut, kami meluncurkan gambar yang diperbarui dengan baik terlebih dahulu sehingga aplikasi yang mengambil pembaruan rutin tidak terpengaruh secara negatif. Untuk menghindari potensi masalah dengan aplikasi yang berjalan di kontainer kustom, pastikan Anda tidak tertinggal terlalu jauh dari versi minor terbaru yang dirilis. Selama kasus dukungan, jika kami menentukan bahwa aplikasi Anda mengalami masalah karena berada pada versi yang lebih lama atau tidak didukung, kami meminta Anda memperbarui kontainer Anda ke versi gambar dasar terbaru sebelum melanjutkan dengan dukungan.
Memulai
Gunakan tautan ini untuk mulai bekerja dengan Azure Functions di kontainer Linux:
Aku ingin... | Lihat artikel: |
---|---|
Membuat fungsi yang dikontainerkan pertama saya | Membuat aplikasi fungsi di kontainer Linux lokal |
Membuat dan menyebarkan fungsi ke Azure Container Apps | Membuat fungsi kontainer pertama Anda di Azure Container Apps |
Membuat dan menyebarkan fungsi dalam kontainer ke Azure Functions | Buat Fungsi Azure pertama Anda yang ber-container |