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.
- Ü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.
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ış.
Sanal ağ oluşturmak için 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ış'ı 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 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 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. 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/environments
olarak 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 create
kullanı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 create
yaparken 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/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 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