Azure Container Apps ortamına sanal ağ sağlama
Aşağıdaki örnekte, mevcut bir sanal ağda (VNet) 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.
- Üst arama çubuğunda Container Apps'i arayın.
- Arama sonuçlarında Kapsayıcı Uygulamaları'nı seçin.
- Oluştur düğmesini seçin.
Temel Bilgiler sekmesi
Temel Bilgiler sekmesinde aşağıdaki eylemleri gerçekleştirin.
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.
Uygun bölgeyi seçin.
Ayar Value Bölge Orta ABD'yi seçin. Container Apps ortamı oluştur alanında Yeni oluştur bağlantısını seçin.
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 Log Analytics çalışma alanı oluşturmak için İzleme sekmesini seçin.
Günlük hedefi olarak Azure Log Analytics'i seçin.
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ş.
Tamam'ı seçin.
Ayrıca, Container Apps ortamınız için özel dns dağıtma seçeneğiniz de vardır. Daha fazla bilgi için bkz. Azure Özel DNS bölgesi oluşturma ve yapılandırma.
Sanal ağ oluşturma
Not
Container Apps ile sanal ağ kullanmak için, iş yükü profilleri ortamı kullanılırken yalnızca Tüketim çevresi kullanılırken sanal ağın /23
CIDR aralığı veya daha büyük olan ayrılmış bir alt ağı veya CIDR aralığı /27
veya daha büyük olması gerekir. Alt ağ boyutlandırma hakkında daha fazla bilgi edinmek için bkz. Ağ mimarisine genel bakış.
Ağ sekmesini seçin.
Kendi sanal ağınızı kullanın seçeneğinin yanındaki Evet'i seçin.
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. Tamam düğmesini seçin.
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. Tamam düğmesini seçin.
Sanal IP'nin altında dış ortam için Dış'ı veya iç ortam için İç'i seçin.
Oluştur'u belirleyin.
Kapsayıcı uygulamasını dağıtma
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 .
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
- Etkin aboneliği olan Azure hesabı.
- Kuruluşunuz yoksa şimdi ücretsiz olarak bir tane oluşturabilirsiniz.
- Azure CLI sürüm 2.28.0 veya üzerini yükleyin.
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 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 true
Container 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. değerini <PLACEHOLDERS>
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 sanal ağ oluşturun. Sanal ağın ortam dağıtımı için kullanılabilir bir alt ağı olmalıdır.
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
İş yükü profilleri ortamını kullanırken, alt ağı olarak devretmek için sanal ağı Microsoft.App/environments
güncelleştirmeniz gerekir. Yalnızca tüketim ortamını kullanırken alt ağa temsilci seçmeyin.
az network vnet subnet update \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_NAME \
--name infrastructure-subnet \
--delegations Microsoft.App/environments
Sanal ağ oluşturulduktan sonra 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, özel sanal ağı kullanarak Container Apps ortamını oluşturun.
Ortamı oluşturmak için aşağıdaki komutu çalıştırın. İç ortam oluşturmak için ekleyin --internal-only
.
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET
Aşağıdaki tabloda ile containerapp env create
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ılabilir iç IP adresleri kullanır. (Altyapı alt ağı kaynak kimliği gerektirir.) |
İ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
Yalnızca tüketim ortamını kullanırken, çağırırken containerapp env create
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-cidr 10.2.0.0/16 platform-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.2 için ilk kullanılabilir IP olacaktır. |
docker-bridge-cidr |
Docker köprü ağına atanan adres aralığı. Bu aralığın ve /12 arasında /28 bir boyutu olmalıdır. |
platform-reserved-cidr
vedocker-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 silebilirsiniz. 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
Ek kaynaklar
- Sanal ağ kapsamı girişi kullanmak için DNS'yi ayarlamanız gerekir.