Aracılığıyla paylaş


Öğretici: Azure Arc özellikli Kubernetes'te Azure Container App oluşturma (Önizleme)

Bu öğreticide, Azure Arc özellikli Kubernetes kümesi (Önizleme) için bir Kapsayıcı uygulaması oluşturacak ve şunları öğreneceksiniz:

  • Azure Arc'ta kapsayıcı uygulaması oluşturma
  • Uygulamanızın tanılamasını görüntüleme

Ön koşullar

Kapsayıcı uygulaması oluşturmaya devam etmeden önce, Önce Azure Container Apps'i çalıştırmak için Azure Arc özellikli bir Kubernetes kümesi ayarlamanız gerekir.

Azure CLI uzantıları ekleme

Azure Cloud Shell'de Bash ortamını başlatın.

Launch Cloud Shell in a new window.

Ardından gerekli Azure CLI uzantılarını ekleyin.

Uyarı

Aşağıdaki komut, genel bulut hizmetiyle kullanılamayabilecek özel bir Container Apps uzantısı yükler. Azure genel buluta geri dönerseniz uzantıyı kaldırmanız gerekir.

az extension add --upgrade --yes --name customlocation
az extension add --name containerapp  --upgrade --yes

Kaynak grubu oluşturma

Bu öğreticide oluşturulan hizmetler için bir kaynak grubu oluşturun.

myResourceGroup="my-container-apps-resource-group"
az group create --name $myResourceGroup --location eastus 

Özel konum bilgilerini alma

Küme yöneticinizden aşağıdaki konum grubunu, adı ve kimliği alın. Ayrıntılar için bkz . Özel konum oluşturma.

customLocationGroup="<RESOURCE_GROUP_CONTAINING_CUSTOM_LOCATION>"
customLocationName="<NAME_OF_CUSTOM_LOCATION>"

Özel konum kimliğini alın.

customLocationId=$(az customlocation show \
    --resource-group $customLocationGroup \
    --name $customLocationName \
    --query id \
    --output tsv)

Bağlı ortam kimliğini alma

Artık özel konum kimliğine sahip olduğunuza göre, bağlı ortamı sorgulayabilirsiniz.

Bağlı ortam büyük ölçüde standart Container Apps ortamıyla aynıdır, ancak ağ kısıtlamaları temel alınan Arc özellikli Kubernetes kümesi tarafından denetlenir.

myContainerApp="my-container-app"
myConnectedEnvironment=$(az containerapp connected-env list --custom-location $customLocationId -o tsv --query '[].id')

Uygulama oluşturun

Aşağıdaki örnek bir Node.js uygulaması oluşturur.

 az containerapp create \
    --resource-group $myResourceGroup \
    --name $myContainerApp \
    --environment $myConnectedEnvironment \
    --environment-type connected \
    --image mcr.microsoft.com/k8se/quickstart:latest \
    --target-port 80 \
    --ingress external

az containerapp browse --resource-group $myResourceGroup --name $myContainerApp

Log Analytics kullanarak tanılama günlüklerini alma

Dekont

Tanılama bilgilerini görüntülemek için Container Apps uzantısını yüklerken Log Analytics yapılandırması gerekir. Uzantıyı Log Analytics olmadan yüklediyseniz bu adımı atlayın.

Container Apps uzantınızla yapılandırılan Log Analytics çalışma alanına gidin ve sol gezinti bölmesinde Günlükler'i seçin.

Son 72 saat içindeki günlükleri göstermek için aşağıdaki örnek sorguyu çalıştırın.

Sorgu çalıştırılırken bir hata varsa 10-15 dakika içinde yeniden deneyin. Log Analytics'in uygulamanızdan günlükleri almaya başlamasında bir gecikme olabilir.

let StartTime = ago(72h);
let EndTime = now();
ContainerAppConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where ContainerAppName_s =~ "my-container-app"

Kubernetes kümenizde barındırılan tüm uygulamaların uygulama günlükleri adlı ContainerAppConsoleLogs_CLözel günlük tablosunda log Analytics çalışma alanına kaydedilir.

  • Log_s belirli bir Container Apps uzantısı için uygulama günlüklerini içerir
  • AppName_s Container App uygulamasının adını içerir. Uygulama kodunuz aracılığıyla yazdığınız günlüklere ek olarak, Log_s sütunu kapsayıcı başlatma ve kapatma günlüklerini de içerir.

Kusto'ya başlarken günlük sorguları hakkında daha fazla bilgi edinebilirsiniz.

Sonraki adımlar