Bagikan melalui


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.

  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.
    Sumber penyebaran Pilih Gambar kontainer.

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 Profil beban kerja.
    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 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.

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

  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.

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

Langkah berikutnya