Aracılığıyla paylaş


İç 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.

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ü Yalnızca tüketim'i seçin.
    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 ortamını kullanırken Kapsayıcı Uygulamaları ile kullanmak için CIDR aralığına /23 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ğ ortamına 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 İç'i 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.

Not

Azure Container Apps kaynakları ad alanından Microsoft.Web ad alanına Microsoft.App geçirildi. Daha fazla ayrıntı için Microsoft.Web'den Mart 2022'de Microsoft.App ad alanı geçişi bölümüne bakın.

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 sanal ağın bir örneğini oluşturun. Sanal ağ, kapsayıcı uygulaması örneği için kullanılabilir iki alt ağa sahip olmalıdır.

Not

Ağ alt ağı adres ön eki, Yalnızca tüketim ortamı kullanılırken Container Apps ile kullanmak için en düşük CIDR aralığını /23 gerektirir. İş Yükü Profilleri ortamını kullanırken veya daha büyük bir /27 ortam gerekir. Alt ağ boyutlandırma hakkında daha fazla bilgi edinmek için bkz. ağ ortamına 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/23

Sanal ağ oluşturulduysa artık altyapı alt ağ kimliğini sorgulayabilirsiniz.

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, sanal ağ ve alt ağ ile 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 \
  --internal-only

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

Parametre Açıklama
name Container Apps ortamının adı.
resource-group Kaynak grubunun adı.
logs-workspace-id (İsteğe bağlı) Mevcut Log Analytics çalışma alanının kimliği. Atlanırsa, sizin için bir çalışma alanı oluşturulur.
logs-workspace-key Log Analytics istemci gizli dizisi. Mevcut bir çalışma alanı kullanılıyorsa gereklidir.
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.
internal-only (İsteğe bağlı) Ortam genel statik IP kullanmaz, yalnızca özel sanal ağda kullanılabilen iç IP adresleri kullanır. (Altyapı alt ağı kaynak kimliği gerektirir.)

Ortamınız özel sanal ağınız kullanılarak oluşturulduktan sonra komutunu kullanarak az containerapp create 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 ortamını kullanı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-cidr10.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ırarak Azure Container Apps örneğini ve ilişkili tüm hizmetleri silebilirsiniz. Bu kaynak grubunun silinmesi, özel ağ bileşenlerini içeren Container Apps hizmeti tarafından otomatik olarak oluşturulan kaynak grubunu kaldırır.

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

Ek kaynaklar

  • Sanal ağ kapsamı girişi kullanmak için DNS'yi ayarlamanız gerekir.

Sonraki adımlar