Aracılığıyla paylaş


Hızlı Başlangıç: Mevcut bir kapsayıcı görüntüsünü komut satırıyla dağıtma

Azure Container Apps hizmeti, sunucusuz bir platformda mikro hizmetleri ve kapsayıcılı uygulamaları çalıştırmanızı sağlar. Container Apps ile, el ile bulut altyapısı yapılandırması ve karmaşık kapsayıcı düzenleyicileri ile ilgili endişeleri geride bırakırken kapsayıcı çalıştırmanın avantajlarından yararlanırsınız.

Bu makalede mevcut bir kapsayıcının Azure Container Apps'e nasıl dağıtılacağı gösterilmektedir.

Not

Özel kayıt defteri yetkilendirmesi, kayıt defteri kullanıcı adı ve parolası aracılığıyla desteklenir.

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

Ortamı oluşturmak için aşağıdaki komutu çalıştırın:

az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location "$LOCATION"

Kapsayıcı uygulaması oluşturma

Artık bir ortamı oluşturduğunuza göre, ilk kapsayıcı uygulamanızı dağıtabilirsiniz. komutuyla containerapp create Azure Container Apps'e bir kapsayıcı görüntüsü dağıtın.

Bu makalede gösterilen örnekte, yaygın komutlarla özel bir kapsayıcı görüntüsünün nasıl kullanılacağı gösterilmektedir. Kapsayıcı görüntünüz aşağıdaki öğeler için daha fazla parametre gerektirebilir:

  • Düzeltme modunu ayarlama
  • Gizli dizileri tanımlama
  • Ortam değişkenlerini tanımlama
  • Kapsayıcı CPU veya bellek gereksinimlerini ayarlama
  • Dapr'ı etkinleştirme ve yapılandırma
  • Dış veya iç girişi etkinleştirme
  • En düşük ve en yüksek çoğaltma değerlerini veya ölçek kurallarını sağlayın

Komutuna bu parametrelerden herhangi birinin değerlerini sağlama hakkında ayrıntılı bilgi için create çevrimiçi başvuruyu çalıştırın az containerapp create --help veya ziyaret edin. Azure Container Registry için kimlik bilgileri oluşturmak için az acr credential show komutunu kullanın.

CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME>
REGISTRY_SERVER=<REGISTRY_SERVER>
REGISTRY_USERNAME=<REGISTRY_USERNAME>
REGISTRY_PASSWORD=<REGISTRY_PASSWORD>

(Yer tutucuları> değerlerinizle değiştirin<.)

az containerapp create \
  --name my-container-app \
  --resource-group $RESOURCE_GROUP \
  --image $CONTAINER_IMAGE_NAME \
  --environment $CONTAINERAPPS_ENVIRONMENT \
  --registry-server $REGISTRY_SERVER \
  --registry-username $REGISTRY_USERNAME \
  --registry-password $REGISTRY_PASSWORD
az containerapp create \
  --image <REGISTRY_CONTAINER_NAME> \
  --name my-container-app \
  --resource-group $RESOURCE_GROUP \
  --environment $CONTAINERAPPS_ENVIRONMENT

If you have enabled ingress on your container app, you can add `--query properties.configuration.ingress.fqdn` to the `create` command to return the public URL for the application.

Bu komutu çalıştırmadan önce değerini, kayıt defteri yolu ve etiketi de dahil olmak üzere genel kapsayıcı kayıt defteri konumunun tam adıyla değiştirin <REGISTRY_CONTAINER_NAME> . Örneğin, geçerli bir kapsayıcı adıdır mcr.microsoft.com/k8se/quickstart:latest.

Dağıtımı doğrulama

Başarılı bir dağıtımı doğrulamak için Log Analytics çalışma alanını sorgulayabilirsiniz. Günlükleri sorgulayabilmeniz için analizin ilk kez ulaşması için dağıtımdan sonra birkaç dakika beklemeniz gerekebilir. Bu, kapsayıcı uygulamanızda uygulanan konsol günlüğüne bağlıdır.

Konsol günlük iletilerini görüntülemek için aşağıdaki komutları kullanın.

LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az containerapp env show --name $CONTAINERAPPS_ENVIRONMENT --resource-group $RESOURCE_GROUP --query properties.appLogsConfiguration.logAnalyticsConfiguration.customerId --out tsv`

az monitor log-analytics query \
  --workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
  --analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'my-container-app' | project ContainerAppName_s, Log_s, TimeGenerated" \
  --out table

Kaynakları temizleme

Bu uygulamayı kullanmaya devam etmeyecekseniz, bu hızlı başlangıçta oluşturulan tüm kaynaklarla birlikte kaynak grubunu silmek için aşağıdaki komutu çalıştırın.

Dikkat

Aşağıdaki komut, belirtilen kaynak grubunu ve içindeki tüm kaynakları siler. Bu hızlı başlangıcın kapsamı dışındaki kaynaklar belirtilen kaynak grubunda varsa, bunlar da silinir.

az group delete --name $RESOURCE_GROUP

İpucu

Sorun mu yaşıyorsunuz? Azure Container Apps deposunda bir sorun açarak GitHub'da bize bildirin.

Sonraki adımlar