Aracılığıyla paylaş


Azure Arc üzerinde App Service uygulaması oluşturma (Önizleme)

Bu hızlı başlangıçta, Azure Arc özellikli Kubernetes kümesi (Önizleme) için bir App Service uygulaması oluşturacaksınız. Bu senaryo yalnızca Linux uygulamalarını destekler ve yerleşik bir dil yığını veya özel kapsayıcı kullanabilirsiniz.

Önkoşullar

Azure CLI uzantıları ekleme

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

Bu CLI komutları henüz çekirdek CLI kümesinin parçası olmadığından, bunları aşağıdaki komutlarla ekleyin:

az extension add --upgrade --yes --name customlocation
az extension remove --name appservice-kube
az extension add --upgrade --yes --name appservice-kube

1. Kaynak grubu oluşturma

Aşağıdaki komutu çalıştırın.

az group create --name myResourceGroup --location eastus 

2. Özel konumu alma

Küme yöneticinizden özel konum hakkında aşağıdaki bilgileri alın (bkz . Özel konum oluşturma).

customLocationGroup="<resource-group-containing-custom-location>"
customLocationName="<name-of-custom-location>"

Sonraki adım için özel konum kimliğini alın.

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

3. Uygulama oluşturma

Aşağıdaki örnek bir Node.js uygulaması oluşturur. değerini kümenizde benzersiz bir adla değiştirin <app-name> (geçerli karakterler , 0-9ve -' dıra-z).

Desteklenen çalışma zamanları:

Açıklama CLI için Çalışma Zamanı Değeri
.NET Core 3.1 DOTNETCORE|3.1
.NET 5.0 DOTNETCORE|6.0
Node JS 12 NODE|12 lts
Node JS 14 NODE|14 lts
Python 3.6 PYTHON|3.6
Python 3.7 PYTHON|3.7
Python 3.8 PYTHON|3.8
PHP 7.3 PHP|7.3
PHP 7.4 PHP|7.4
Java 8 JAVA|8-jre8
Java 11 JAVA|11-java11
Tomcat 8.5 TOMCAT|8.5-jre8
Tomcat 8.5 TOMCAT|8.5-java11
Tomcat 9.0 TOMCAT|9.0-jre8
Tomcat 9.0 TOMCAT|9.0-java11
 az webapp create \
    --resource-group myResourceGroup \
    --name <app-name> \
    --custom-location $customLocationId \
    --runtime 'NODE|14-lts'

4. Kod dağıtma

Not

az webapp up genel önizleme sırasında desteklenmez.

Git kullanarak örnek bir Node.js uygulaması alın ve ZIP dağıtımı kullanarak dağıtın. değerini web uygulamanızın adıyla değiştirin <app-name> .

git clone https://github.com/Azure-Samples/nodejs-docs-hello-world
cd nodejs-docs-hello-world
zip -r package.zip .
az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
az webapp deployment source config-zip --resource-group myResourceGroup --name <app-name> --src package.zip

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

Not

Log Analytics'i kullanmak için App Service uzantısını yüklerken daha önce etkinleştirmiş olmanız gerekir. Uzantıyı Log Analytics olmadan yüklediyseniz bu adımı atlayın.

App Service uzantınızla yapılandırılan Log Analytics çalışma alanına gidin ve sol gezinti bölmesinde Günlükler'e tıklayın. Son 72 saat içindeki günlükleri göstermek için aşağıdaki örnek sorguyu çalıştırın. değerini web uygulamanızın adıyla değiştirin <app-name> . Sorgu çalıştırırken bir hata varsa 10-15 dakika içinde yeniden deneyin (Log Analytics'in uygulamanızdan günlükleri almaya başlamasında gecikme olabilir).

let StartTime = ago(72h);
let EndTime = now();
AppServiceConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where AppName_s =~ "<app-name>"

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

Log_s belirli bir App Service için uygulama günlüklerini ve AppName_s App Service uygulama 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, kapatma ve İşlev Uygulamaları günlüklerini de içerir.

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

(İsteğe bağlı) Özel kapsayıcı dağıtma

Özel kapsayıcılı uygulama oluşturmak için az webapp create komutunu ile --deployment-container-image-nameçalıştırın. Özel bir depo için ve --docker-registry-server-passwordekleyin--docker-registry-server-user.

Örneğin, şunu deneyin:

az webapp create \
    --resource-group myResourceGroup \
    --name <app-name> \
    --custom-location $customLocationId \
    --deployment-container-image-name mcr.microsoft.com/appsvc/staticsite:latest

Uygulama oluşturduktan sonra görüntüyü güncelleştirmek için bkz . Özel kapsayıcının Docker görüntüsünü değiştirme

Sonraki adımlar