Kod olarak altyapı
Üretim senaryosunda Resource Manager şablonlarını kullanarak Azure Service Fabric kümeleri oluşturun. Resource Manager şablonları kaynak özelliklerinde daha fazla denetim sağlar ve tutarlı bir kaynak modeline sahip olduğunuzdan emin olun.
Örnek Resource Manager şablonları, GitHub'daki Azure örneklerinde Windows ve Linux için kullanılabilir. Bu şablonlar, küme şablonunuz için başlangıç noktası olarak kullanılabilir. azuredeploy.parameters.json
Özel gereksinimlerinizi karşılamak için bunları indirip azuredeploy.json
düzenleyin.
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Yukarıda indirdiğiniz ve azuredeploy.parameters.json
şablonlarını dağıtmak azuredeploy.json
için aşağıdaki Azure CLI komutlarını kullanın:
ResourceGroupName="sfclustergroup"
Location="westus"
az group create --name $ResourceGroupName --location $Location
az deployment group create --name $ResourceGroupName --template-file azuredeploy.json --parameters @azuredeploy.parameters.json
PowerShell kullanarak kaynak oluşturma
$ResourceGroupName="sfclustergroup"
$Location="westus"
$Template="azuredeploy.json"
$Parameters="azuredeploy.parameters.json"
New-AzResourceGroup -Name $ResourceGroupName -Location $Location
New-AzResourceGroupDeployment -Name $ResourceGroupName -TemplateFile $Template -TemplateParameterFile $Parameters
Service Fabric kaynakları
Uygulama ve hizmetlerinizi Service Fabric kümesine Azure Resource Manager üzerinden dağıtabilirsiniz. Ayrıntılar için bkz . Uygulamaları ve hizmetleri Azure Resource Manager kaynakları olarak yönetme. Aşağıda, Resource Manager şablon kaynaklarınıza dahil etmek için Service Fabric uygulamasına özgü en iyi yöntem kaynakları yer alır.
{
"apiVersion": "2019-03-01",
"type": "Microsoft.ServiceFabric/clusters/applicationTypes",
"name": "[concat(parameters('clusterName'), '/', parameters('applicationTypeName'))]",
"location": "[variables('clusterLocation')]",
},
{
"apiVersion": "2019-03-01",
"type": "Microsoft.ServiceFabric/clusters/applicationTypes/versions",
"name": "[concat(parameters('clusterName'), '/', parameters('applicationTypeName'), '/', parameters('applicationTypeVersion'))]",
"location": "[variables('clusterLocation')]",
},
{
"apiVersion": "2019-03-01",
"type": "Microsoft.ServiceFabric/clusters/applications",
"name": "[concat(parameters('clusterName'), '/', parameters('applicationName'))]",
"location": "[variables('clusterLocation')]",
},
{
"apiVersion": "2019-03-01",
"type": "Microsoft.ServiceFabric/clusters/applications/services",
"name": "[concat(parameters('clusterName'), '/', parameters('applicationName'), '/', parameters('serviceName'))]",
"location": "[variables('clusterLocation')]"
}
Azure Resource Manager kullanarak uygulamanızı dağıtmak için önce bir sfpkg Service Fabric Uygulama paketi oluşturmanız gerekir. Aşağıdaki Python betiği, sfpkg'nin nasıl oluşturulacağını gösteren bir örnektir:
# Create SFPKG that needs to be uploaded to Azure Storage Blob Container
microservices_sfpkg = zipfile.ZipFile(
self.microservices_app_package_name, 'w', zipfile.ZIP_DEFLATED)
package_length = len(self.microservices_app_package_path)
for root, dirs, files in os.walk(self.microservices_app_package_path):
root_folder = root[package_length:]
for file in files:
microservices_sfpkg.write(os.path.join(
root, file), os.path.join(root_folder, file))
microservices_sfpkg.close()
Sanal makine işletim sistemi otomatik yükseltme yapılandırması
Sanal makinelerinizi yükseltmek kullanıcı tarafından başlatılan bir işlemdir ve Service Fabric küme düğümü düzeltme eki yönetiminiz için sanal makine ölçek kümesi otomatik görüntü yükseltmelerini etkinleştirmeniz önerilir. Patch Orchestration Application (POA), Azure dışı barındırılan kümelere yönelik alternatif bir çözümdür. POA, Azure'da kullanılabilse de barındırmak, ölçek kümesi otomatik işletim sistemi görüntüsü yükseltmelerini etkinleştirmekten daha fazla yönetim gerektirir. Automtic işletim sistemi yükseltmelerini etkinleştirmek için sanal makine ölçek kümesi Resource Manager şablon özellikleri şunlardır:
"upgradePolicy": {
"mode": "Automatic",
"automaticOSUpgradePolicy": {
"enableAutomaticOSUpgrade": true,
"disableAutomaticRollback": false
}
},
Service Fabric ile otomatik işletim sistemi yükseltmeleri kullanılırken, Service Fabric'te çalışan hizmetlerin yüksek kullanılabilirliğini korumak için yeni işletim sistemi görüntüsü tek seferde bir Güncelleştirme Etki Alanı dağıtılır. Service Fabric'te Otomatik İşletim Sistemi Yükseltmeleri'ni kullanmak için kümenizin Gümüş Dayanıklılık Katmanı veya üzerini kullanacak şekilde yapılandırılması gerekir.
Windows konak makinelerinizin koordine edilmemiş güncelleştirmeleri başlatmasını önlemek için aşağıdaki kayıt defteri anahtarının false olarak ayarlandığından emin olun: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU.
Windows Update'i devre dışı bırakmak için aşağıdaki sanal makine ölçek kümesi şablon özelliklerini ayarlayın:
"osProfile": {
"computerNamePrefix": "{vmss-name}",
"adminUsername": "{your-username}",
"secrets": [],
"windowsConfiguration": {
"provisionVMAgent": true,
"enableAutomaticUpdates": false
}
},
Service Fabric küme yükseltme yapılandırması
Otomatik yükseltmeyi etkinleştirmek için Service Fabric küme şablonu özelliği aşağıdadır:
"upgradeMode": "Automatic",
Kümenizi el ile yükseltmek için cab/deb dağıtımını bir küme sanal makinesine indirin ve aşağıdaki PowerShell'i çağırın:
Copy-ServiceFabricClusterPackage -Code -CodePackagePath <"local_VM_path_to_msi"> -CodePackagePathInImageStore ServiceFabric.msi -ImageStoreConnectionString "fabric:ImageStore"
Register-ServiceFabricClusterPackage -Code -CodePackagePath "ServiceFabric.msi"
Start-ServiceFabricClusterUpgrade -Code -CodePackageVersion <"msi_code_version">
Sonraki adımlar
- Windows Server çalıştıran VM'lerde veya bilgisayarlarda küme oluşturma: Windows Server için Service Fabric kümesi oluşturma
- Linux çalıştıran VM'lerde veya bilgisayarlarda küme oluşturma: Linux kümesi oluşturma
- Service Fabric destek seçenekleri hakkında bilgi edinin