Menyediakan jaringan virtual ke lingkungan Azure Container Apps
Contoh berikut menunjukkan kepada Anda cara membuat lingkungan Container Apps di jaringan virtual (VNet) 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 Aplikasi Kontainer pada tab Dasar, masukkan nilai berikut ini:
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.
Anda juga memiliki opsi untuk menyebarkan DNS privat untuk lingkungan Container Apps Anda. Untuk informasi selengkapnya lihat Membuat dan mengonfigurasi zona DNS Privat Azure.
Membuat jaringan virtual
Catatan
Untuk menggunakan VNet dengan Container Apps, VNet harus memiliki subnet khusus dengan rentang CIDR atau lebih /23
besar saat menggunakan environemnt Konsumsi saja, atau rentang CIDR atau lebih /27
besar saat menggunakan lingkungan profil beban kerja. Untuk mempelajari selengkapnya tentang ukuran subnet, lihat gambaran umum arsitektur jaringan.
Pilih tab Jaringan.
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 untuk lingkungan eksternal, atau Internal untuk lingkungan internal.
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 PowerShell, pastikan Anda memiliki versi terbaru ekstensi Azure Container Apps yang diinstal.
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.
<PLACEHOLDERS>
Ganti 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 untuk dikaitkan dengan lingkungan Aplikasi Kontainer. Jaringan virtual harus memiliki subnet yang tersedia untuk penyebaran lingkungan.
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/23
Saat menggunakan lingkungan profil Beban Kerja, Anda perlu memperbarui VNet untuk mendelegasikan subnet ke Microsoft.App/environments
. Jangan mendelegasikan subnet saat menggunakan 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 sekarang dapat mengkueri ID 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.
Untuk membuat lingkungan, jalankan perintah berikut. Untuk membuat lingkungan internal, tambahkan --internal-only
.
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 dengan containerapp env create
.
Parameter | Deskripsi |
---|---|
name |
Nama lingkungan Container Apps. |
resource-group |
Nama grup sumber daya. |
logs-workspace-id |
(Opsional) ID ruang kerja Analitik Log yang ada. Jika dihilangkan, ruang kerja dibuat untuk Anda. |
logs-workspace-key |
Rahasia klien Log Analytics. Diperlukan jika menggunakan ruang kerja yang sudah ada. |
location |
Lokasi Azure tempat lingkungan akan disebarkan. |
infrastructure-subnet-resource-id |
ID sumber daya subnet untuk komponen infrastruktur dan kontainer aplikasi pengguna. |
internal-only |
(Opsional) Lingkungan tidak menggunakan IP statis publik, hanya alamat IP internal yang tersedia di VNet kustom. (Memerlukan ID sumber daya subnet infrastruktur.) |
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
Saat menggunakan lingkungan Khusus konsumsi, 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 lingkungan 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 berkonflik dengan rentang alamat lain di VNet.Jika properti ini tidak disediakan, CLI akan membuat nilai rentang secara otomatis 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
Sumber Daya Tambahan:
- Untuk menggunakan ingress cakupan VNet, Anda harus menyiapkan DNS.