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 Arc özellikli Kubernetes'inizi App Service'i çalıştıracak şekilde ayarlayın.
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-9
ve -
' 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-password
ekleyin--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