Dış Azure Container Apps ortamına sanal ağ sağlama

Aşağıdaki örnekte, mevcut bir sanal ağda Bir Container Apps ortamının nasıl oluşturulacağı gösterilmektedir.

Azure portalında oturum açarak başlayın.

Kapsayıcı uygulaması oluşturma

Kapsayıcı uygulamanızı oluşturmak için Azure portalı giriş sayfasından başlayın.

  1. Üst arama çubuğunda Container Apps'i arayın.
  2. Arama sonuçlarında Kapsayıcı Uygulamaları'nı seçin.
  3. Oluştur düğmesini seçin.

Temel Bilgiler sekmesi

Temel Bilgiler sekmesinde aşağıdaki eylemleri gerçekleştirin.

  1. Proje ayrıntıları bölümüne aşağıdaki değerleri girin.

    Ayar Eylem
    Abonelik Azure aboneliği seçin.
    Kaynak grubu Yeni oluştur'u seçin ve my-container-apps girin.
    Kapsayıcı uygulama adı my-container-app girin.
    Dağıtım kaynağı Kapsayıcı görüntüsü'ne tıklayın.

Ortam oluşturun

Ardından kapsayıcı uygulamanız için bir ortam oluşturun.

  1. Uygun bölgeyi seçin.

    Ayar Value
    Bölge Orta ABD'yi seçin.
  2. Container Apps ortamı oluştur alanında Yeni oluştur bağlantısını seçin.

  3. Temel Bilgiler sekmesindeki Container Apps Ortamı Oluştur sayfasında aşağıdaki değerleri girin:

    Ayar Value
    Ortam adı My-environment girin.
    Ortam türü İş yükü profilleri'ne tıklayın.
    Bölge yedekliliği Devre dışı öğesini seçin
  4. Log Analytics çalışma alanı oluşturmak için İzleme sekmesini seçin.

  5. Günlük hedefi olarak Azure Log Analytics'i seçin.

  6. Log Analytics çalışma alanında Yeni oluştur bağlantısını seçin ve aşağıdaki değerleri girin.

    Ayar Değer
    Veri Akışı Adı my-container-apps-logs girin.

    Konum alanı sizin için Orta ABD ile önceden doldurulmuş.

  7. Tamam'ı seçin.

Not

Mevcut bir sanal ağı kullanabilirsiniz, ancak yalnızca Tüketim Mimarisi kullanılırken Kapsayıcı Uygulamaları ile kullanmak için CIDR aralığına /23 sahip veya daha büyük bir ayrılmış alt ağ gereklidir. İş yükü profilleri ortamı kullanılırken veya daha büyük bir /27 ortam gereklidir. Alt ağ boyutlandırma hakkında daha fazla bilgi edinmek için bkz. Ağ mimarisine genel bakış.

  1. Sanal ağ oluşturmak için Ağ sekmesini seçin.

  2. Kendi sanal ağınızı kullanın seçeneğinin yanındaki Evet'i seçin.

  3. Sanal ağ kutusunun yanındaki Yeni oluştur bağlantısını seçin ve aşağıdaki değeri girin.

    Ayar Değer
    Veri Akışı Adı My-custom-vnet girin.
  4. Tamam düğmesini seçin.

  5. Altyapı alt ağı kutusunun yanında Yeni oluştur bağlantısını seçin ve aşağıdaki değerleri girin:

    Ayar Value
    Alt Ağ Adı Altyapı-alt ağ girin.
    Sanal Ağ Adres Bloğu Varsayılan değerleri koruyun.
    Alt Ağ Adres Bloğu Varsayılan değerleri koruyun.
  6. Tamam düğmesini seçin.

  7. Sanal IP'nin altında Dış'ı seçin.

  8. Oluştur'u belirleyin.

Kapsayıcı uygulamasını dağıtma

  1. Sayfanın en altında Gözden geçir ve oluştur'u seçin.

    Hata bulunmazsa Oluştur düğmesi etkinleştirilir.

    Hatalar varsa, hata içeren tüm sekmeler kırmızı noktayla işaretlenir. Uygun sekmeye gidin. Hata içeren alanlar kırmızı renkle vurgulanır. Tüm hatalar düzeltildikten sonra Gözden geçir'i seçin ve yeniden oluşturun .

  2. Oluştur'u belirleyin.

    Dağıtım devam ediyor iletisini içeren bir sayfa görüntülenir. Dağıtım başarıyla tamamlandıktan sonra şu iletiyi görürsünüz: Dağıtımınız tamamlandı.

Önkoşullar

Ayarlama

CLI'dan Azure'da oturum açmak için aşağıdaki komutu çalıştırın ve istemleri izleyerek kimlik doğrulama işlemini tamamlayın.

az login

CLI'nın en son sürümünü çalıştırdığınızdan emin olmak için yükseltme komutunu çalıştırın.

az upgrade

Ardından CLI için Azure Container Apps uzantısını yükleyin veya güncelleştirin.

Azure CLI'da komutları veya Azure PowerShell'deki modülden Az.App cmdlet'leri çalıştırdığınızda az containerapp eksik parametrelerle ilgili hatalar alırsanız, Azure Container Apps uzantısının en son sürümünü yüklediğinizden emin olun.

az extension add --name containerapp --upgrade

Not

Mayıs 2024'den itibaren Azure CLI uzantıları artık önizleme özelliklerini varsayılan olarak etkinleştirmez. Container Apps önizleme özelliklerine erişmek için ile --allow-preview trueContainer Apps uzantısını yükleyin.

az extension add --name containerapp --upgrade --allow-preview true

Geçerli uzantı veya modül yüklendikten sonra ve Microsoft.OperationalInsights ad alanlarını kaydedinMicrosoft.App.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Ortam değişkenlerini belirleme

Aşağıdaki ortam değişkenlerini ayarlayın. PLACEHOLDERS> değerini değerlerinizle değiştirin<:

RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"

Azure kaynak grubu oluşturma

Kapsayıcı uygulaması dağıtımınızla ilgili hizmetleri düzenlemek için bir kaynak grubu oluşturun.

az group create \
  --name $RESOURCE_GROUP \
  --location "$LOCATION"

Ortam oluşturun

Azure Container Apps'teki bir ortam, bir grup kapsayıcı uygulaması çevresinde güvenli bir sınır oluşturur. Aynı ortama dağıtılan Container Apps aynı sanal ağa dağıtılır ve günlükleri aynı Log Analytics çalışma alanına yazar.

Sağlayıcıyı Microsoft.ContainerService kaydedin.

az provider register --namespace Microsoft.ContainerService

Sanal ağ adını tutmak için bir değişken bildirin.

VNET_NAME="my-custom-vnet"

Şimdi Container Apps ortamıyla ilişkilendirmek için bir Azure sanal ağı oluşturun. Sanal ağın ortam dağıtımı için kullanılabilir bir alt ağı olmalıdır.

Not

Ağ alt ağ adresi ön eki, Yalnızca Tüketim Mimarisi kullanılırken Container Apps ile kullanmak için en düşük CIDR aralığını /23 gerektirir. İş Yükü Profilleri Mimarisi kullanılırken bir veya daha büyük olması /27 gerekir. Alt ağ boyutlandırma hakkında daha fazla bilgi edinmek için bkz. Ağ mimarisine genel bakış.

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

İş yükü profilleri ortamını kullanırken, alt ağı Microsoft.App/environmentsolarak devretmek için sanal ağı güncelleştirmeniz gerekir. Bu temsilci seçme yalnızca Tüketim ortamı için geçerli değildir.

az network vnet subnet update \
  --resource-group $RESOURCE_GROUP \
  --vnet-name $VNET_NAME \
  --name infrastructure-subnet \
  --delegations Microsoft.App/environments

Oluşturulan sanal ağ ile altyapı alt ağının kimliğini alabilirsiniz.

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:]'`

Son olarak, önceki adımlarda dağıtılan özel sanal ağı kullanarak Container Apps ortamını oluşturun.

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

Aşağıdaki tabloda içinde containerapp env createkullanılan parametreler açıklanmaktadır.

Parametre Açıklama
name Container Apps ortamının adı.
resource-group Kaynak grubunun adı.
location Ortamın dağıtılacağı Azure konumu.
infrastructure-subnet-resource-id Altyapı bileşenleri ve kullanıcı uygulaması kapsayıcıları için bir alt ağın kaynak kimliği.

Ortamınız özel bir sanal ağ kullanılarak oluşturulduktan sonra artık kapsayıcı uygulamalarını ortama dağıtabilirsiniz.

İsteğe bağlı yapılandırma

Özel DNS dağıtma ve Container Apps ortamınız için özel ağ IP aralıkları tanımlama seçeneğiniz vardır.

Özel DNS ile dağıtma

Kapsayıcı uygulamanızı özel bir DNS ile dağıtmak istiyorsanız aşağıdaki komutları çalıştırın.

İlk olarak, ortamdan tanımlanabilir bilgileri ayıklayın.

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 '"'`

Ardından özel DNS'yi ayarlayın.

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

Ağ parametreleri

çağrısı containerapp env createyaparken tanımlamayı seçebileceğiniz üç isteğe bağlı ağ parametresi vardır. Ayrı adres aralıklarına sahip eşlenmiş bir sanal ağınız olduğunda bu seçenekleri kullanın. Bu aralıkların açıkça yapılandırılması, Container Apps ortamı tarafından kullanılan adreslerin ağ altyapısındaki diğer aralıklarla çakışmamasını sağlar.

Bu özelliklerin üçü için de değer sağlamanız veya hiçbirini sağlamamalısınız. Sağlanmamışsa, değerler sizin için oluşturulur.

Parametre Açıklama
platform-reserved-cidr Ortam altyapısı hizmetleri için dahili olarak kullanılan adres aralığı. Yalnızca tüketim mimarisi kullanılırken ve /12 arasında /23 bir boyuta sahip olmalıdır
platform-reserved-dns-ip İç DNS sunucusu için kullanılan aralıktan bir platform-reserved-cidr IP adresi. Adres, aralıktaki ilk adres veya ağ adresi olamaz. Örneğin, olarak ayarlanırsa platform-reserved-cidr 10.2.0.0/16platform-reserved-dns-ip (ağ adresi) veya 10.2.0.1 (altyapı bu IP'nin kullanımını ayırır) olamaz.10.2.0.0 Bu durumda, DNS 10.2.0.2için ilk kullanılabilir IP olacaktır.
docker-bridge-cidr Docker köprü ağına atanan adres aralığı. Bu aralığın ve /12arasında /28 bir boyutu olmalıdır.
  • platform-reserved-cidr ve docker-bridge-cidr adres aralıkları birbiriyle veya sağlanan alt ağ aralıklarıyla çakışamaz. Ayrıca, bu aralıkların VNET'teki diğer adres aralıklarıyla çakışmadığından emin olun.

  • Bu özellikler sağlanmamışsa, CLI aralık çakışmalarını önlemek için aralık değerlerini sanal ağın adres aralığına göre otomatik olarak oluşturur.

Kaynakları temizleme

Bu uygulamayı kullanmaya devam etmeyecekseniz my-container-apps kaynak grubunu kaldırabilirsiniz. Bu işlem Azure Container Apps örneğini ve ilişkili tüm hizmetleri siler. Ayrıca, Container Apps hizmetinin otomatik olarak oluşturduğu ve özel ağ bileşenlerini içeren kaynak grubunu da siler.

Dikkat

Aşağıdaki komut, belirtilen kaynak grubunu ve içindeki tüm kaynakları siler. Belirtilen kaynak grubunda bu kılavuzun kapsamı dışındaki kaynaklar varsa, bunlar da silinir.

az group delete --name $RESOURCE_GROUP

Sonraki adımlar