Suporte à extensão do conjunto de dimensionamento de máquina virtual no(s) tipo(s) de nó(s) de cluster gerenciado pelo Service Fabric

Cada tipo de nó em um cluster gerenciado do Service Fabric é apoiado por um conjunto de dimensionamento de máquina virtual. Isso permite que você adicione extensões de conjunto de dimensionamento de máquina virtual aos tipos de nó de cluster gerenciado do Service Fabric. As extensões são pequenos aplicativos que fornecem configuração e automação pós-implantação em VMs do Azure. A plataforma Azure hospeda muitas extensões que abrangem configuração, monitoramento, segurança e aplicativos utilitários de VM. Os editores pegam um aplicativo, envolvem-no em uma extensão e simplificam a instalação. Tudo o que você precisa fazer é fornecer parâmetros obrigatórios.

Adicionar uma extensão de conjunto de escala de máquina virtual

Você pode adicionar uma extensão de conjunto de escala de máquina virtual a um tipo de nó de cluster gerenciado pelo Service Fabric usando o comando Add-AzServiceFabricManagedNodeTypeVMExtension PowerShell.

Como alternativa, você pode adicionar uma extensão de conjunto de escala de máquina virtual em um tipo de nó de cluster gerenciado pelo Service Fabric em seu modelo do Azure Resource Manager, por exemplo:

{
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "apiVersion": "[variables('sfApiVersion')]",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "location": "[resourceGroup().location]",
  "properties": {
    "isPrimary": true,
    ...
    "vmExtensions": [
      {
        "name": "KvExtension",
        "properties": {
          "publisher": "Microsoft.Azure.KeyVault",
          "type": "KeyVaultForWindows",
          "typeHandlerVersion": "3.0",
          "autoUpgradeMinorVersion": true,
          "settings": {
            "secretsManagementSettings": {
              "observedCertificates": [
                ...
              ]
            }
          }
        }
      }
    ]
  }
}

Para obter mais informações sobre como configurar tipos de nó de cluster gerenciado do Service Fabric, consulte Tipo de nó de cluster gerenciado.

Como provisionar antes do tempo de execução do Service Fabric

Para provisionar extensões antes do início do tempo de execução do Service Fabric, você pode usar o parâmetro com o setupOrder valor BeforeSFRuntime nas propriedades da extensão para cada extensão, conforme necessário. Isso permite que você configure o ambiente e as dependências antes que o tempo de execução e os aplicativos comecem a ser executados no nó. Veja o exemplo abaixo para esclarecimentos:

Nota

É essencial observar que, se uma extensão marcada com BeforeSFRuntime falhar, ela impedirá que o tempo de execução do Service Fabric seja iniciado. Consequentemente, o nó ficará inativo do ponto de vista do Service Fabric. Portanto, é crucial manter essas extensões com configurações corretas e resolver prontamente quaisquer problemas que possam surgir para garantir a integridade dos nós dentro do cluster.

Requisitos

Use a versão 2023-09-01-preview da API do Service Fabric ou posterior.

Exemplo de modelo ARM:

{
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "apiVersion": "2023-09-01-preview",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "properties": {
    "isPrimary": true,
    ...
    "vmExtensions": [
        {
            "name": "KvExtension",
            "properties": {
                "setupOrder": [
                    "BeforeSFRuntime"
                ],
                "provisionAfterExtensions" [ "GenevaMonitoringExtension" ],
                "publisher": "Microsoft.Azure.KeyVault",
                "type": "KeyVaultForWindows",
                "typeHandlerVersion": "3.0",
                "autoUpgradeMinorVersion": true,
                "settings": {
                "secretsManagementSettings": {
                  "observedCertificates": [
                    ...
                  ]
                }
              }
            }
        },
        {
          "name": "GenevaMonitoringExtension",
          "properties": {
              "setupOrder": [
                    "BeforeSFRuntime"
                ],
              "autoUpgradeMinorVersion": true,
              "enableAutomaticUpgrade": true,
              "publisher": "Microsoft.Azure.Geneva",
              "type": "GenevaMonitoring",
              "typeHandlerVersion": "2.40",
              "settings": {
                "configurations": [
                  {
                    "ServiceArguments": {
                      ...
                    },
                    "UserArguments": {
                      ...
                    }
                  }
                ]
              }
          }
      }
    ]
  }
}

Nota

Tratamento especial para a extensão AzureDiskEncryption (ADE): o ADE precisa ser executado antes do tempo de execução do Service Fabric para garantir que o disco seja descriptografado após uma operação de reimagem, permitindo que o tempo de execução do Service Fabric comece a usá-lo. Mesmo que a extensão não esteja explicitamente marcada com BeforeSFRuntime, ela será executada antes do tempo de execução. Mas observe que a ativação da criptografia no host é recomendada em vez do uso da extensão ADE. Para obter instruções detalhadas, consulte Ativar criptografia no host.

Próximos passos

Para saber mais sobre clusters gerenciados do Service Fabric, consulte: