Menyediakan jaringan virtual ke lingkungan Azure Container Apps internal

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.

  1. Cari Aplikasi Kontainer di bilah pencarian teratas.
  2. Pilih Aplikasi Kontainer di hasil pencarian.
  3. Pilih tombol Buat.

Tab Dasar

Pada tab Dasar, lakukan hal berikut.

  1. 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.

Membuat lingkungan

Selanjutnya, buat lingkungan untuk aplikasi kontainer Anda.

  1. Pilih subnet yang sesuai.

    Pengaturan Nilai
    Wilayah Pilih US Tengah.
  2. Di bidang Buat lingkungan Container Apps, pilih tautan Buat baru.

  3. Di halaman Buat Lingkungan Container Apps pada tab Dasar-dasar, masukkan nilai berikut:

    Pengaturan Nilai
    Nama lingkungan Masukkan my-environment.
    Jenis lingkungan Pilih Konsumsi saja.
    Redundansi zona Pilih Dinonaktifkan
  4. Pilih tab Pemantauan untuk membuat ruang kerja Analitik Log.

  5. Pilih Azure Log Analytics sebagai Tujuan Log.

  6. 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.

  7. 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 lingkungan Hanya konsumsi. Saat menggunakan lingkungan profil beban kerja, /27 diperlukan atau lebih besar. Untuk mempelajari selengkapnya tentang ukuran subnet, lihat gambaran umum lingkungan jaringan.

  1. Pilih tab Jaringan untuk membuat VNET.

  2. Pilih Ya di samping Gunakan jaringan virtual Anda sendiri.

  3. Di samping kotak Jaringan virtual, pilih tautan Buat baru dan masukkan nilai berikut.

    Pengaturan Nilai
    Nama Masukkan my-custom-vnet.
  4. Pilih tombol OK.

  5. 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.
  6. Pilih tombol OK.

  7. Di bawah IP Virtual, pilih Internal.

  8. Pilih Buat.

Menyebarkan aplikasi kontainer

  1. 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.

  2. Pilih Buat.

    Halaman dengan pesan Penyebaran sedang berlangsung ditampilkan. Setelah penyebaran berhasil diselesaikan, Anda akan melihat pesan: Penyebaran Anda selesai.

Prasyarat

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.

az extension add --name containerapp --upgrade

Sekarang setelah ekstensi atau modul saat ini diinstal, daftarkan Microsoft.App namespace layanan dan Microsoft.OperationalInsights .

Catatan

Sumber daya Azure Container Apps telah bermigrasi dari namespace layanan Microsoft.Web ke namespace layanan Microsoft.App. Lihat Migrasi Namespace layanan dari Microsoft.Web ke Microsoft.App pada bulan Maret 2022 untuk detail selengkapnya.

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 instans jaringan virtual untuk dikaitkan dengan lingkungan Container Apps. Jaringan virtual harus memiliki dua subnet yang tersedia untuk instans aplikasi kontainer.

Catatan

Awalan alamat subnet jaringan memerlukan rentang /23 CIDR minimum untuk digunakan dengan Container Apps saat menggunakan lingkungan Konsumsi saja. Saat menggunakan lingkungan Profil Beban Kerja, diperlukan atau lebih /27 besar. Untuk mempelajari selengkapnya tentang ukuran subnet, lihat gambaran umum lingkungan 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/23

Dengan VNET yang ditetapkan, 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 dengan VNET dan subnet.

az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location "$LOCATION" \
  --infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET \
  --internal-only

Tabel berikut ini menjelaskan parameter yang digunakan untuk 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 sudah 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.)

Dengan lingkungan yang dibuat menggunakan jaringan virtual ubahsuaian, Anda dapat menerapkan aplikasi penampung ke dalam lingkungan menggunakan perintah az containerapp create.

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 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 dan docker-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 instans Azure Container Apps dan semua layanan terkait dengan menghapus grup sumber daya my-container-apps. Menghapus grup sumber daya ini menghapus grup sumber daya yang dibuat secara otomatis oleh layanan Container Apps 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.

Langkah berikutnya