Menyediakan jaringan virtual ke lingkungan Azure Container Apps
Contoh berikut menunjukkan cara membuat lingkungan Container Apps di jaringan virtual yang ada.
Mulailah dengan masuk ke portal Microsoft Azure.
Membuat aplikasi kontainer
Untuk membuat aplikasi kontainer Anda, mulai di halaman beranda portal Microsoft Azure.
- Cari Aplikasi Kontainer di bilah pencarian teratas.
- Pilih Aplikasi Kontainer di hasil pencarian.
- Pilih tombol Buat.
Tab Dasar
Pada tab Dasar, lakukan hal berikut.
Masukkan nilai berikut ini di bagian Detail Proyek.
Pengaturan Tindakan Langganan Pilih langganan Azure Anda. Grup sumber daya Pilih Buat baru dan masukkan my-container-apps. Nama aplikasi kontainer Masukkan my-container-app. Sumber penyebaran Pilih Gambar kontainer.
Membuat lingkungan
Selanjutnya, buat lingkungan untuk aplikasi kontainer Anda.
Pilih subnet yang sesuai.
Pengaturan Nilai Wilayah Pilih US Tengah. Di bidang Buat lingkungan Container Apps, pilih tautan Buat baru.
Di halaman Buat Lingkungan Container Apps pada tab Dasar-dasar, masukkan nilai berikut:
Pengaturan Nilai Nama lingkungan Masukkan my-environment. Jenis lingkungan Pilih Profil beban kerja. Redundansi zona Pilih Dinonaktifkan Pilih tab Pemantauan untuk membuat ruang kerja Analitik Log.
Pilih Azure Log Analytics sebagai Tujuan Log.
Pilih tautan Buat baru di bidang ruang kerja Analitik Log dan masukkan nilai berikut.
Pengaturan Nilai Nama Masukkan my-container-apps-logs. Bidang Lokasi telah diisi sebelumnya dengan US Tengah untuk Anda.
Pilih OK.
Catatan
Anda dapat menggunakan jaringan virtual yang ada, tetapi subnet khusus dengan rentang CIDR atau lebih /23
besar diperlukan untuk digunakan dengan Container Apps saat menggunakan Arsitektur hanya Konsumsi. Saat menggunakan lingkungan profil beban kerja, diperlukan atau lebih /27
besar. Untuk mempelajari selengkapnya tentang ukuran subnet, lihat gambaran umum arsitektur jaringan.
Pilih tab Jaringan untuk membuat VNET.
Pilih Ya di samping Gunakan jaringan virtual Anda sendiri.
Di samping kotak Jaringan virtual, pilih tautan Buat baru dan masukkan nilai berikut.
Pengaturan Nilai Nama Masukkan my-custom-vnet. Pilih tombol OK.
Di samping kotak Subnet infrastruktur, pilih tautan Buat baru dan masukkan nilai berikut:
Pengaturan Nilai Nama Subnet Masukkan infrastructure-subnet. Blok alamat Virtual Network Pertahankan nilai default. Blok Alamat Subnet Pertahankan nilai default. Pilih tombol OK.
Di bawah IP Virtual, pilih Eksternal.
Pilih Buat.
Menyebarkan aplikasi kontainer
Pilih Tinjau dan buat di bagian bawah halaman.
Jika tidak ada kesalahan yang ditemukan, tombol Buat diaktifkan.
Jika ada kesalahan, tab apa pun yang berisi kesalahan ditandai dengan titik merah. Navigasikan ke tab yang sesuai. Bidang yang berisi kesalahan disorot dengan warna merah. Setelah semua kesalahan diperbaiki, pilih Tinjau dan buat lagi.
Pilih Buat.
Halaman dengan pesan Penyebaran sedang berlangsung ditampilkan. Setelah penyebaran berhasil diselesaikan, Anda akan melihat pesan: Penyebaran Anda selesai.
Prasyarat
- Akun Azure dengan langganan aktif.
- Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis.
- Instal Azure CLI versi 2.28.0 atau yang lebih baru.
Siapkan
Untuk masuk ke Azure dari CLI, jalankan perintah berikut dan ikuti perintah untuk menyelesaikan proses autentikasi.
az login
Untuk memastikan Anda menjalankan CLI versi terbaru, jalankan perintah peningkatan.
az upgrade
Selanjutnya, instal atau perbarui ekstensi Azure Container Apps untuk CLI.
Jika Anda menerima kesalahan tentang parameter yang hilang saat menjalankan az containerapp
perintah di Azure CLI atau cmdlet dari Az.App
modul di Azure PowerShell, pastikan Anda memiliki versi terbaru ekstensi Azure Container Apps yang terinstal.
az extension add --name containerapp --upgrade
Catatan
Mulai Mei 2024, ekstensi Azure CLI tidak lagi mengaktifkan fitur pratinjau secara default. Untuk mengakses fitur pratinjau Container Apps, instal ekstensi Container Apps dengan --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Sekarang setelah ekstensi atau modul saat ini diinstal, daftarkan Microsoft.App
namespace layanan dan Microsoft.OperationalInsights
.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Atur variabel lingkungan
Atur variabel lingkungan berikut. Ganti <PLACEHOLDERS> dengan nilai Anda:
RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"
Membuat Grup Sumber Daya Azure
Buat grup sumber daya untuk mengatur layanan yang terkait dengan penyebaran aplikasi kontainer Anda.
az group create \
--name $RESOURCE_GROUP \
--location "$LOCATION"
Membuat lingkungan
Lingkungan di Aplikasi Kontainer Azure menciptakan batas aman di sekitar sekelompok aplikasi kontainer. Aplikasi Kontainer yang disebarkan ke lingkungan yang sama disebarkan di jaringan virtual yang sama dan menulis log ke ruang kerja Log Analytics yang sama.
Daftarkan Microsoft.ContainerService
penyedia.
az provider register --namespace Microsoft.ContainerService
Deklarasikan variabel untuk menahan nama VNET.
VNET_NAME="my-custom-vnet"
Sekarang buat jaringan virtual Azure untuk dikaitkan dengan lingkungan Container Apps. Jaringan virtual harus memiliki subnet yang tersedia untuk penyebaran lingkungan.
Catatan
Awalan alamat subnet jaringan memerlukan rentang /23
CIDR minimum untuk digunakan dengan Aplikasi Kontainer saat menggunakan Arsitektur hanya Konsumsi. Saat menggunakan Arsitektur Profil Beban Kerja, diperlukan atau lebih /27
besar. Untuk mempelajari selengkapnya tentang ukuran subnet, lihat gambaran umum arsitektur jaringan.
az network vnet create \
--resource-group $RESOURCE_GROUP \
--name $VNET_NAME \
--location $LOCATION \
--address-prefix 10.0.0.0/16
az network vnet subnet create \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_NAME \
--name infrastructure-subnet \
--address-prefixes 10.0.0.0/21
Saat menggunakan lingkungan profil Beban Kerja, Anda perlu memperbarui VNET untuk mendelegasikan subnet ke Microsoft.App/environments
. Delegasi ini tidak berlaku untuk lingkungan khusus Konsumsi.
az network vnet subnet update \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_NAME \
--name infrastructure-subnet \
--delegations Microsoft.App/environments
Dengan jaringan virtual yang dibuat, Anda dapat mengambil ID untuk subnet infrastruktur.
INFRASTRUCTURE_SUBNET=`az network vnet subnet show --resource-group ${RESOURCE_GROUP} --vnet-name $VNET_NAME --name infrastructure-subnet --query "id" -o tsv | tr -d '[:space:]'`
Terakhir, buat lingkungan Container Apps menggunakan VNET kustom yang disebarkan di langkah sebelumnya.
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET
Tabel berikut ini menjelaskan parameter yang digunakan di containerapp env create
.
Parameter | Deskripsi |
---|---|
name |
Nama lingkungan Container Apps. |
resource-group |
Nama grup sumber daya. |
location |
Lokasi Azure tempat lingkungan akan disebarkan. |
infrastructure-subnet-resource-id |
ID sumber daya subnet untuk komponen infrastruktur dan kontainer aplikasi pengguna. |
Dengan lingkungan Anda yang dibuat menggunakan jaringan virtual kustom, Anda sekarang dapat menyebarkan aplikasi kontainer ke lingkungan.
Konfigurasi Opsional
Anda memiliki opsi untuk menyebarkan DNS privat dan menentukan rentang IP jaringan kustom untuk lingkungan Container Apps Anda.
Menyebarkan dengan DNS privat
Jika Anda ingin menyebarkan aplikasi kontainer dengan DNS privat, jalankan perintah berikut.
Pertama, ekstrak informasi yang dapat diidentifikasi dari lingkungan.
ENVIRONMENT_DEFAULT_DOMAIN=`az containerapp env show --name ${CONTAINERAPPS_ENVIRONMENT} --resource-group ${RESOURCE_GROUP} --query properties.defaultDomain --out json | tr -d '"'`
ENVIRONMENT_STATIC_IP=`az containerapp env show --name ${CONTAINERAPPS_ENVIRONMENT} --resource-group ${RESOURCE_GROUP} --query properties.staticIp --out json | tr -d '"'`
VNET_ID=`az network vnet show --resource-group ${RESOURCE_GROUP} --name ${VNET_NAME} --query id --out json | tr -d '"'`
Selanjutnya, siapkan DNS privat.
az network private-dns zone create \
--resource-group $RESOURCE_GROUP \
--name $ENVIRONMENT_DEFAULT_DOMAIN
az network private-dns link vnet create \
--resource-group $RESOURCE_GROUP \
--name $VNET_NAME \
--virtual-network $VNET_ID \
--zone-name $ENVIRONMENT_DEFAULT_DOMAIN -e true
az network private-dns record-set a add-record \
--resource-group $RESOURCE_GROUP \
--record-set-name "*" \
--ipv4-address $ENVIRONMENT_STATIC_IP \
--zone-name $ENVIRONMENT_DEFAULT_DOMAIN
Parameter jaringan
Ada tiga parameter jaringan opsional yang dapat Anda pilih untuk ditentukan saat memanggil containerapp env create
. Gunakan opsi ini saat Anda memiliki VNET yang di-peering dengan rentang alamat terpisah. Mengonfigurasi rentang ini secara eksplisit memastikan alamat yang digunakan oleh lingkungan Container Apps tidak bertentangan dengan rentang lain dalam infrastruktur jaringan.
Anda harus menyediakan nilai untuk ketiga properti ini, atau tidak satu pun dari properti tersebut. Jika tidak disediakan, nilai dihasilkan untuk Anda.
Parameter | Deskripsi |
---|---|
platform-reserved-cidr |
Rentang alamat yang digunakan secara internal untuk layanan infrastruktur lingkungan. Harus memiliki ukuran antara /23 dan /12 saat menggunakan arsitektur Konsumsi saja |
platform-reserved-dns-ip |
Alamat IP dari rentang platform-reserved-cidr yang digunakan untuk server DNS internal. Alamat tidak boleh menjadi alamat pertama dalam rentang, atau alamat jaringan. Misalnya, jika platform-reserved-cidr disetel ke 10.2.0.0/16 , maka platform-reserved-dns-ip tidak boleh berupa 10.2.0.0 (alamat jaringan), atau 10.2.0.1 (cadangan infrastruktur menggunakan IP ini). Dalam hal ini, IP pertama yang dapat digunakan untuk DNS adalah 10.2.0.2 . |
docker-bridge-cidr |
Rentang alamat yang ditetapkan ke jaringan jembatan Docker. Rentang ini harus memiliki ukuran antara /28 dan /12 . |
Rentang alamat
platform-reserved-cidr
dandocker-bridge-cidr
tidak boleh bertentangan satu sama lain, atau dengan rentang subnet yang disediakan. Selanjutnya, pastikan rentang ini tidak bertentangan dengan rentang alamat lain di VNET.Jika properti ini tidak disediakan, CLI secara otomatis menghasilkan nilai rentang berdasarkan rentang alamat VNET untuk menghindari konflik rentang.
Membersihkan sumber daya
Jika Anda tidak akan terus menggunakan aplikasi ini, Anda dapat menghapus grup sumber daya my-container-apps . Ini menghapus instans Azure Container Apps dan semua layanan terkait. Ini juga menghapus grup sumber daya yang dibuat secara otomatis oleh layanan Container Apps dan yang berisi komponen jaringan kustom.
Perhatian
Perintah berikut menghapus grup sumber daya yang ditentukan dan semua sumber daya yang terkandung di dalamnya. Jika sumber daya di luar lingkup panduan ini ada di grup sumber daya yang ditentukan, sumber daya tersebut juga akan dihapus.
az group delete --name $RESOURCE_GROUP