Megosztás a következőn keresztül:


Infrastruktúra mint kód

Éles környezetben Hozzon létre Azure Service Fabric-fürtöket Resource Manager-sablonok használatával. A Resource Manager-sablonok nagyobb mértékben szabályozják az erőforrás-tulajdonságokat, és gondoskodnak arról, hogy konzisztens erőforrásmodellel rendelkezzen.

A Resource Manager-mintasablonok Windows és Linux rendszeren érhetők el a GitHub Azure-mintáiban. Ezek a sablonok kiindulópontként használhatók a fürtsablonhoz. Töltse le azuredeploy.json és azuredeploy.parameters.json szerkessze őket az egyéni követelményeknek megfelelően.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

A azuredeploy.json fent letöltött és azuredeploy.parameters.json letöltött sablonok üzembe helyezéséhez használja az alábbi Azure CLI-parancsokat:

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

Erőforrás létrehozása a PowerShell használatával

$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-erőforrások

Segítségével az Azure Resource Manageren keresztül helyezhet üzembe alkalmazásokat és szolgáltatásokat a Service Fabric-fürtön. A részletekért lásd: Alkalmazások és szolgáltatások kezelése Azure Resource Manager-erőforrásokként . Az alábbiakban a Service Fabric alkalmazásspecifikus erőforrásait ajánlott befoglalni a Resource Manager-sablonerőforrásaiba.

{
    "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')]"
}

Az alkalmazás Azure Resource Managerrel való üzembe helyezéséhez először létre kell hoznia egy sfpkg Service Fabric-alkalmazáscsomagot. Az alábbi Python-szkript egy példa sfpkg létrehozására:

# 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()

Virtuális gép operációs rendszerének automatikus frissítési konfigurációja

A virtuális gépek frissítése felhasználó által kezdeményezett művelet, és javasoljuk, hogy engedélyezze a virtuálisgép-méretezési csoport automatikus rendszerképfrissítéseit a Service Fabric-fürtcsomópont-javítások kezeléséhez. A Patch Orchestration Application (POA) egy alternatív megoldás, amely nem Azure-ban üzemeltetett fürtökhöz készült. Bár a POA használható az Azure-ban, üzemeltetése több felügyeletet igényel, mint egyszerűen engedélyezni a méretezési csoport automatikus operációsrendszer-rendszerképeinek frissítését. A következő virtuálisgép-méretezési csoport Resource Manager-sablontulajdonságai teszik lehetővé az automatikus operációsrendszer-frissítéseket:

"upgradePolicy": {
   "mode": "Automatic",
   "automaticOSUpgradePolicy": {
        "enableAutomaticOSUpgrade": true,
        "disableAutomaticRollback": false
    }
},

Ha automatikus operációsrendszer-frissítéseket használ a Service Fabric használatával, az új operációsrendszer-rendszerkép egyszerre egy frissítési tartományt hoz létre a Service Fabricben futó szolgáltatások magas rendelkezésre állásának fenntartása érdekében. Az automatikus operációsrendszer-frissítések Service Fabricben való használatához a fürtöt úgy kell konfigurálni, hogy a Silver tartóssági szintet vagy annál magasabb szintet használja.

Győződjön meg arról, hogy a következő beállításkulcs hamis értékre van állítva, hogy a windowsos gazdagépek ne kezdeményezhessenek koordinálatlan frissítéseket: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU.

A Windows Update letiltásához állítsa be a következő virtuálisgép-méretezési csoport sablontulajdonságait:

"osProfile": {
        "computerNamePrefix": "{vmss-name}",
        "adminUsername": "{your-username}",
        "secrets": [],
        "windowsConfiguration": {
          "provisionVMAgent": true,
          "enableAutomaticUpdates": false
        }
      },

Service Fabric-fürt frissítési konfigurációja

Az automatikus frissítés engedélyezéséhez a Service Fabric-fürtsablon tulajdonság a következő:

"upgradeMode": "Automatic",

A fürt manuális frissítéséhez töltse le a cab/deb disztribúciót egy fürt virtuális gépére, majd hívja meg a következő PowerShellt:

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">

Következő lépések