Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uygulamaları bir ölçek kümesindeki sanal makine (VM) örneklerinde çalıştırmak için önce uygulama bileşenlerini ve gerekli dosyaları yüklemeniz gerekir. Önceki bir öğreticide, VM örneklerinizi dağıtmak için özel bir VM görüntüsü oluşturmayı ve kullanmayı öğrendinsiniz. Bu özel görüntü, el ile uygulama yüklemelerini ve yapılandırmalarını içeriyor. Ayrıca, her VM örneği dağıtıldıktan sonra uygulamaların bir ölçek kümesine yüklenmesini otomatikleştirebilir veya zaten bir ölçek kümesinde çalışan bir uygulamayı güncelleştirebilirsiniz. Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:
- Uygulamaları ölçek kümenize otomatik olarak yükleme
- Azure Özel Betik Uzantısı'nı kullanma
- Ölçek kümesinde çalışan bir uygulamayı güncelleştirme
Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'i kullanmaya başlama.
CLI referans komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleyin. Windows veya macOS üzerinde çalışıyorsanız, Azure CLI'yi bir Docker konteynerinde çalıştırmayı düşünün. Daha fazla bilgi için Azure CLI'nin bir Docker konteynerında nasıl çalıştırılacağını inceleyin.
Yerel bir kurulum kullanıyorsanız, az login komutunu kullanarak Azure CLI'ye giriş yapın. Kimlik doğrulama işlemini tamamlamak için, terminalinizde görüntülenen adımları takip edin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'da kimlik doğrulaması.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma ve yönetme.
Yüklü olan sürümü ve bağımlı kütüphaneleri bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
- Bu makale, Azure CLI'nın 2.0.29 veya sonraki bir sürümünü gerektirir. Azure Cloud Shell kullanılıyorsa en son sürüm zaten yüklüdür.
Azure Özel Betik Uzantısı nedir?
Özel Betik Uzantısı, Azure VM'lerinde betikleri indirir ve yürütür. Bu uzantı dağıtım sonrası yapılandırma, yazılım yüklemesi veya diğer yapılandırma/yönetim görevleri için kullanışlıdır. Betikler Azure depolama veya GitHub'dan indirilebilir veya uzantı çalışma zamanında Azure portalına sağlanabilir.
Özel Betik uzantısı Azure Resource Manager şablonlarıyla tümleşir ve Azure CLI, Azure PowerShell, Azure portalı veya REST API ile de kullanılabilir. Daha fazla bilgi için Özel Betik Uzantısı genel görünümüne bakın.
Azure CLI ile Özel Betik Uzantısı'nı kullanmak için, hangi dosyaların alınacağını ve yürütülecek komutları tanımlayan bir JSON dosyası oluşturursunuz. Bu JSON tanımları, tutarlı uygulama yüklemeleri uygulamak için ölçek kümesi dağıtımları arasında yeniden kullanılabilir.
Özel Script Uzantısı tanımı oluşturma
Özel Komut Dosyası Uzantısı'nın çalıştığını görmek için, NGINX web sunucusunu yükleyen ve ölçek kümesi VM örneğinin ana bilgisayar adını çıktılayan bir ölçek kümesi oluşturalım. Aşağıdaki Özel Betik Uzantısı tanımı GitHub'dan bir örnek betik indirir, gerekli paketleri yükler, ardından VM örneği ana bilgisayar adını temel bir HTML sayfasına yazar.
Geçerli komut satırı ortamınızda customConfig.json adlı bir dosya oluşturun ve aşağıdaki yapılandırmayı yapıştırın. Örneğin, dosyayı yerel makinenizde değil Cloud Shell'de oluşturun. İstediğiniz düzenleyiciyi kullanabilirsiniz. Bu öğreticide Vi kullanacağız. Cloud Shell'de girinvi. Aşağıdaki JSON dosyasını düzenleyiciye yapıştırın ve yazın :w customConfig.json.
{
"fileUris": ["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx.sh"],
"commandToExecute": './automate_nginx.sh'
}
Uyarı
Aşağıdaki --settings parametresinde JSON'a doğrudan başvurmaya karar verirseniz (customConfig.json dosyasına başvurmak yerine) JSON bloğunda tek (') ve çift tırnak (") kullanımını ters çevirmeniz gerekebilir.
Ölçek kümesi oluşturma
Önemli
Kasım 2023'den itibaren, düzenleme modu belirtilmezse PowerShell ve Azure CLI kullanılarak oluşturulan VM ölçek kümeleri varsayılan olarak Esnek Düzenleme Modu olarak ayarlanır. Bu değişiklik ve gerçekleştirmeniz gereken eylemler hakkında daha fazla bilgi için VMSS PowerShell/CLI Müşterileri için Kritik Değişiklik - Microsoft Community Hub'a gidin.
az group create komutuyla bir kaynak grubu oluşturun. Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur:
az group create --name myResourceGroup --location eastus
Şimdi az vmss create ile bir Sanal Makine Ölçek Kümesi oluşturun. Aşağıdaki örnek myScaleSet adlı bir ölçek kümesi oluşturur ve yoksa SSH anahtarları oluşturur:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--image Ubuntu2204 \
--orchestration-mode Flexible \
--admin-username azureuser \
--generate-ssh-keys
Tüm ölçek kümesi kaynaklarının ve VM'lerin oluşturulup yapılandırılması birkaç dakika sürer.
Özel Betik Uzantısını Uygula
az vmss extension set ile gruptaki VM örneklerine Özel Betik Uzantısı yapılandırmasını uygulayın. Aşağıdaki örnek ,customConfig.json yapılandırmasını myResourceGroup adlı kaynak grubundaki myScaleSet VM örneklerine uygular:
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroup \
--vmss-name myScaleSet \
--settings customConfig.json
Dikkat
Dosya adları büyük/küçük harfe duyarlıdır. Başarısızlığı önlemek için bu yönergelerde belirtilen tam dosya adını kullanın.
Uzantıyı mevcut ölçek kümesi örneklerine uygulama
Özel betiği uygulamak için tüm örnekleri yükseltin. Yükseltme birkaç dakika sürebilir.
az vmss update-instances --resource-group myResourceGroup --name myScaleSet --instance-ids "*"
80 numaralı bağlantı noktasına giden trafiğe izin ver
Trafiğin yük dengeleyiciden sanal makinelere akmasına izin vermek için varsayılan ağ güvenlik grubunun güncelleştirilmesi gerekir.
az network nsg rule create --name AllowHTTP --resource-group myResourceGroup --nsg-name myScaleSetNSG --access Allow --priority 1010 --destination-port-ranges 80
Ölçek kümenizi test edin
Web sunucunuzu çalışırken görmek için az network public-ip show ile yük dengeleyicinizin genel IP adresini alın. Aşağıdaki örnek, ölçek kümesinin bir parçası olarak oluşturulan myScaleSetLBPublicIP için IP adresini alır:
az network public-ip show \
--resource-group myResourceGroup \
--name myScaleSetLBPublicIP \
--query [ipAddress] \
--output tsv
Yük dengeleyicinin genel IP adresini bir web tarayıcısına girin. Yük dengeleyici, aşağıdaki örnekte gösterildiği gibi trafiği VM örneklerinizden birine dağıtır:
Sonraki adımda güncelleştirilmiş bir sürümü görebilmeniz için web tarayıcısını açık bırakın.
Yükseltme ilkesini değiştirme
Önceki bölümde, güncelleştirilmiş uygulamayı tüm ölçek kümesi örneklerine uygulamak için el ile yükseltme gerekiyordu. Güncelleştirmelerin tüm mevcut ölçek kümesi örneklerine otomatik olarak uygulanmasını etkinleştirmek için yükseltme ilkesini el ile otomatik olarak güncelleştirin. Yükseltme ilkeleri hakkında daha fazla bilgi için bkz . Sanal Makine Ölçek Kümeleri için yükseltme ilkeleri.
az vmss update \
--name myScaleSet \
--resource-group myResourceGroup \
--set upgradePolicy.mode=automatic
Uygulama dağıtımlarını güncelleştirme
Geçerli komut kabuğunuzda customConfigv2.json adlı bir dosya oluşturun ve aşağıdaki yapılandırmayı dosyaya yapıştırın. Bu tanım, uygulama yükleme betiğinin güncelleştirilmiş v2 sürümünü çalıştırır:
{
"fileUris": ["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx_v2.sh"],
"commandToExecute": "./automate_nginx_v2.sh"
}
az vmss extension set ile ölçek kümenize Custom Script Extension yapılandırmasını yeniden uygulayın. customConfigv2.json, uygulamanın güncelleştirilmiş sürümünü uygulamak için kullanılır:
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroup \
--vmss-name myScaleSet \
--settings @customConfigv2.json
Ölçek kümesi artık otomatik yükseltme ilkesi kullandığından, güncelleştirilmiş uygulama mevcut ölçek kümesi örneklerine otomatik olarak uygulanır. Güncelleştirilmiş uygulamayı görmek için web tarayıcınızı yenileyin.
Kaynakları temizle
Ölçek kümenizi ve ek kaynaklarınızı kaldırmak için az group delete komutuyla kaynak grubunu ve tüm kaynaklarını silin.
--no-wait parametresi işlemin tamamlanmasını beklemeden denetimi komut istemine döndürür. parametresi, --yes ek bir istem olmadan kaynakları silmek istediğinizi onaylar.
az group delete --name myResourceGroup --no-wait --yes
Sonraki Adımlar
Bu öğreticide, Azure CLI ile ölçek kümenize uygulamaları otomatik olarak yüklemeyi ve güncelleştirmeyi öğrendiniz:
- Uygulamaları ölçek kümenize otomatik olarak yükleme
- Azure Özel Betik Uzantısı'nı kullanma
- Ölçek kümesinde çalışan bir uygulamayı güncelleştirme
Ölçek kümenizi otomatik olarak ölçeklendirmeyi öğrenmek için sonraki öğreticiye geçin.