Share via


Compatibilidad de extensiones de conjunto de escalado de máquinas virtuales con tipos de nodo de clúster administrado de Service Fabric

Cada tipo de nodo de un clúster administrado de Service Fabric se encuentra respaldado por un conjunto de escalado de máquinas virtuales. De este modo, puede agregar extensiones de conjunto de escalado de máquinas virtuales a los tipos de nodo de clúster administrado de Service Fabric. Las extensiones son aplicaciones pequeñas que proporcionan automatización y configuración posterior a la implementación en VM de Azure. La plataforma de Azure hospeda numerosas extensiones, que abarcan aplicaciones de configuración, supervisión, seguridad y utilidad de VM. Los editores toman una aplicación, la encapsulan en una extensión y simplifican la instalación. Solo debe proporcionar parámetros obligatorios.

Incorporación de una extensión de conjunto de escalado de máquinas virtuales

Puede agregar una extensión de conjunto de escalado de máquinas virtuales a un tipo de nodo de clúster administrado de Service Fabric mediante el comando de PowerShell Add-AzServiceFabricManagedNodeTypeVMExtension.

También puede agregar una extensión de conjunto de escalado de máquinas virtuales en un tipo de nodo de clúster administrado de Service Fabric en su plantilla de Azure Resource Manager, por ejemplo:

{
  "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 obtener más información sobre la configuración de los tipos de nodo de clúster administrados por Service Fabric, consulte Tipo de nodo de clúster administrado.

Aprovisionamiento antes del entorno de ejecución de Service Fabric

Para aprovisionar extensiones antes de que se inicie el entorno de ejecución de Service Fabric, puede usar el parámetro setupOrder con el valor BeforeSFRuntime en las propiedades de extensión para cada extensión según sea necesario. Esto le permite configurar el entorno y las dependencias antes de que el tiempo de ejecución y las aplicaciones empiecen a ejecutarse en el nodo. Consulte el siguiente ejemplo para obtener una aclaración:

Nota:

Es esencial tener en cuenta que si se produce un error en una extensión marcada con BeforeSFRuntime, impedirá que se inicie el entorno de ejecución de Service Fabric. Por lo tanto, el nodo estará fuera de la perspectiva de Service Fabric. Por lo tanto, es fundamental mantener estas extensiones con configuraciones correctas y solucionar rápidamente los problemas que puedan surgir para garantizar el estado de los nodos dentro del clúster.

Requisitos

Use la versión 2023-09-01-preview de la API de Service Fabric o posterior.

Ejemplo de plantilla de 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:

Control especial de la extensión AzureDiskEncryption (ADE): ADE debe ejecutarse antes de que el entorno de ejecución de Service Fabric garantice que el disco se descifra después de una operación de imagen, lo que permite que el entorno de ejecución de Service Fabric empiece a usarlo. Incluso si la extensión no está marcada explícitamente con BeforeSFRuntime, se ejecutará antes del tiempo de ejecución. Pero tenga en cuenta que se recomienda habilitar el cifrado en el host mediante la extensión ADE. Para obtener instrucciones detalladas, consulte Habilitación del cifrado en el host.

Pasos siguientes

Para más información acerca de los clústeres administrados de Service Fabric, consulte: