Share via


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. Con los clústeres administrados, puede realizar los cambios necesarios a través del proveedor de recursos de clúster administrado de Service Fabric. El proveedor de clústeres administrados crea y abstrae todos los recursos subyacentes del clúster en su nombre. Que el proveedor de recursos administre los recursos ayuda a simplificar la implementación y administración de tipos de nodo de clúster, evitar errores de operación, tales como eliminar un nodo de inicialización, y ayuda a aplicar los procedimientos recomendados, tales como validar una SKU de máquina virtual segura.

En el resto de este documento se explica cómo ajustar varias opciones desde la creación de un tipo de nodo, el ajuste del número de instancias de tipo de nodo, la habilitación de actualizaciones automáticas de imágenes del sistema operativo, el cambio de la imagen del sistema operativo y la configuración de las propiedades de selección de ubicación. Este documento también se centrará en el uso de las plantillas de Azure Portal o Azure Resource Manager para realizar cambios.

Importante

De momento, los clústeres administrados de Service Fabric no admiten imágenes de SO personalizadas.

Nota:

No podrá modificar el tipo de nodo mientras haya un cambio en curso. Se recomienda dejar que se complete cualquier cambio solicitado antes de realizar otro.

Adición de un tipo de nodo

Puede agregar un tipo de nodo a un Service Fabric administrado mediante Portal, una plantilla de Azure Resource Manager o PowerShell.

Agregar con el portal

Nota:

Solo puede agregar tipos de nodo secundarios con Portal

  1. Inicie sesión en Azure Portal.

  2. Vaya a la página de Información general del recurso de clúster. Ejemplo de página de Información general

  3. SeleccioneNode types bajo la sección Settings. Visualización de los tipos de nodo

  4. Haga clic en Adden la parte superior, rellene la información necesaria y, a continuación, haga clic en Agregar en la parte inferior, eso es todo.

  5. Espere a que se complete la adición del nuevo tipo de nodo

Agregar con una plantilla de ARM

Agregue otro tipo de recurso Microsoft.ServiceFabric/managedclusters/nodetypes con los valores necesarios y realice una implementación de clúster para que la configuración surja efecto.

  • El valor de apiVersion del recurso de clúster administrado de Service Fabric debe ser 2021-05-01 o posterior.
  • Asegúrese de establecer de isPrimary a true si tiene la intención de reemplazar un tipo de nodo primario existente.
{
    "apiVersion": "[variables('sfApiVersion')]",
    "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
    "name": "[concat(parameters('clusterName'), '/', parameters('nodeType2Name'))]",
    "location": "[resourcegroup().location]",
    "dependsOn": [
        "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
    ],
    "properties": {
        "isPrimary": false,
        "vmImagePublisher": "[parameters('vmImagePublisher')]",
        "vmImageOffer": "[parameters('vmImageOffer')]",
        "vmImageSku": "[parameters('vmImageSku')]",
        "vmImageVersion": "[parameters('vmImageVersion')]",
        "vmSize": "[parameters('nodeType2VmSize')]",
        "vmInstanceCount": "[parameters('nodeType2VmInstanceCount')]",
        "dataDiskSizeGB": "[parameters('nodeType2DataDiskSizeGB')]",
        "dataDiskType": "[parameters('nodeType2managedDataDiskType')]"
    }
}

Para obtener un ejemplo de configuración de dos tipos de nodo, consulte nuestra plantilla de ARM de ejemplo de dos tipos de nodo.

Agregar con PowerShell

Para crear un nuevo tipo de nodo, deberá definir estas propiedades:

  • Grupo de recursos: grupo de recursos en el que se encuentra el clúster
  • Nombre del clúster:nombre del clúster administrado
  • Nombre del tipo de nodo: nombre único de los tipos de nodos existentes en el clúster.
  • Recuento de instancias: número inicial de nodos del nuevo tipo de nodo.
  • Tamaño de VM: SKU de VM para los nodos. Si no se especifica, se usa el valor predeterminado Standard_D2.

Nota:

Si agrega un tipo de nodo principal, se debe usar la propiedad -Primary.

$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "nt2"
$vmSize = "Standard_D2_v2"

New-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -Name $nodeTypeName -InstanceCount 3 -vmSize $vmSize

Eliminación de un tipo de nodo

Puede quitar un tipo de Service Fabric de clúster administrado con Portal o PowerShell.

Nota:

Para quitar un tipo de nodo principal de un Service Fabric administrado, debe usar PowerShell y debe haber más de un tipo de nodo principal disponible.

Quitar con el portal

  1. Inicie sesión en Azure Portal.

  2. Vaya a la página de Información general del recurso de clúster. Ejemplo de página de Información general

  3. SeleccioneNode types bajo la sección Settings. Visualización de los tipos de nodo

  4. Seleccione el Node Type que desea quitar y haga clic en Deleteen la parte superior.

Quitar con PowerShell

Nota:

Si se quita un tipo de nodo principal para escenarios como actualizar la SKU, se tardarán varias horas y el progreso se puede supervisar mediante SFX. Los nodos de semilla migrarán un nodo por dominio de actualización (UD) a la vez.

Para crear un nuevo tipo de nodo, deberá definir estas propiedades:

  • Grupo de recursos: grupo de recursos en el que se encuentra el clúster
  • Nombre del clúster:nombre del clúster administrado
  • Nombre del tipo de nodo: nombre único de los tipos de nodos existentes en el clúster.
$resourceGroup = "myResourceGroup"
$clusterName = "myCluster"
$nodeTypeName = "nt2"

Remove-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName  -Name $nodeTypeName

Escalar un tipo de nodo

Puede escalar un tipo Service Fabric de clúster administrado con portal, ARM plantilla o PowerShell. También puede configurar la escala automática para un tipo de nodo secundario si quiere una solución totalmente automatizada.

Nota:

  • Un tipo de nodo principal no se puede establecer en escalado automático y solo se puede establecer en escala manual.
  • En el tipo nodo principal, no podrá desplazarse por debajo de 3 nodos para un clúster de SKU básico y de 5 nodos, para un clúster de SKU estándar.

Escalar con el portal

En este tutorial, aprenderá a modificar el número de nodos para un tipo de nodo utilizando el portal.

  1. Inicie sesión en Azure Portal.

  2. Vaya a la página de Información general del recurso de clúster. Ejemplo de página de Información general

  3. SeleccioneNode Types en la sección Settings.

  4. Seleccione el Node type nameque desea modificar.

  5. Revise y actualice las propiedades de tipo de nodo si es necesario.

Ejemplo que muestra un aumento del número de nodos

  1. Seleccione Manage node type scaling para configurar los valores de escalado y elija entre las opciones personalizadas de escalado automático y escalado manual. La escalabilidad automática es una característica integrada que ayuda a que las aplicaciones funcionen mejor cuando demandan cambios. Puede optar por escalar el recurso manualmente a un recuento de instancias específico, o a través de una directiva de escalado automático personalizada que se escale según los umbrales de métricas o programar el recuento de instancias que se escala durante las ventanas de tiempo designadas. Obtenga más información sobre el escalado automático de Azure o vea el vídeo de procedimientos.

    • Escalado automático personalizado: seleccione el scale mode adecuado para definir la directiva de escalado automático personalizado, Scale to a specific instance count o Scale based on a metric. Esta última se basa en reglas de desencadenador de métricas, por ejemplo, aumentar el recuento de instancias en 1 cuando el porcentaje de CPU es superior al 70 %. Una vez definida la directiva, seleccione Save en la parte superior.

      Ejemplo que muestra el valor de escalado automático

    • Escalado manual: Ajuste el Node count al nuevo valor que desea y seleccione Save en la parte superior. En esta captura de pantalla, el valor era 3y se ajustó a 5.

      Ejemplo que muestra el valor de escalado manual

    Seleccione Apply en la parte inferior para configurar estos valores guardados en el tipo de nodo.

  2. En Provisioning state, el estado se mostrará comoUpdating hasta que se haya completado la operación. Una vez finalizada la operación, mostrará Succeeded de nuevo. Ejemplo que muestra la actualización de un tipo de nodo

Escalar un tipo de nodo con una plantilla

Para ajustar el número de nodos para un tipo de nodo mediante una plantilla de ARM, ajuste la vmInstanceCount propiedad con el nuevo valor y realice una implementación de clúster para que la configuración surja efecto. El clúster comenzará a actualizar automáticamente, verá los nodos adicionales cuando se complete.

  • El valor de apiVersion del recurso de clúster administrado de Service Fabric debe ser 2021-05-01 o posterior.

Nota:

El proveedor de clústeres administrados bloqueará los ajustes de escala y devolverá un error si la solicitud de escalado infringe los mínimos necesarios.

{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    ...
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    ...
  }
}

Escalar un tipo de nodo con PowerShell

Cambie el recuento de instancias para aumentar o disminuir el número de nodos del tipo de nodo que desea escalar. Puede buscar los nombres de tipo de nodo en la plantilla de Azure Resource Manager (plantilla de ARM) de la implementación del clúster o en Service Fabric Explorer.

$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "FE"
$instanceCount = "7"

Set-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -name $nodeTypeName -InstanceCount $instanceCount -Verbose

El clúster comenzará a actualizar automáticamente, verá los nodos adicionales cuando se complete.

Habilitar las actualizaciones automáticas de las imágenes del sistema operativo

Puede elegir habilitar las actualizaciones automáticas de imágenes del sistema operativo en las máquinas virtuales que ejecutan los nodos de clúster administrados. Aunque los recursos del conjunto de escalado de máquinas virtuales se administran en su nombre con los clústeres administrados, es su elección habilitar actualizaciones automáticas de imágenes de sistema operativo para los nodos del clúster. Al igual que con los clústeres de Service fabric clásicos, los nodos de clústeres administrados no se actualizan de forma predeterminada, con el fin de evitar interrupciones imprevistas en el clúster.

Para habilitar las actualizaciones automáticas del sistema operativo:

  • Use la versión 2021-05-01 (o posterior) de los recursos Microsoft.ServiceFabric/managedclusters y Microsoft.ServiceFabric/managedclusters/nodetypes.
  • Establezca la propiedad enableAutoOSUpgrade del clúster en true.
  • Establezca la propiedad del recurso nodeTypes del clúster vmImageVersion en latest.

Por ejemplo:

    {
      "apiVersion": "[variables('sfApiVersion')]",
      "type": "Microsoft.ServiceFabric/managedclusters",
      ...
      "properties": {
        ...
        "enableAutoOSUpgrade": true
      },
    },
    {
      "apiVersion": "[variables('sfApiVersion')]",
      "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
       ...
      "properties": {
        ...
        "vmImageVersion": "latest",
        ...
      }
    }
}

Una vez habilitado, Service Fabric comenzará a consultar y realizar el seguimiento de las versiones de imagen del sistema operativo en el clúster administrado. Si hay disponible una nueva versión del sistema operativo, se actualizarán los tipos de nodo de clúster (conjuntos de escalado de máquinas virtuales), de uno en uno. Las actualizaciones en tiempo de ejecución de Service Fabric solo se realizan después de confirmar que no hay actualizaciones de imágenes de sistema operativo de nodo de clúster en curso.

Si se produce un error en una actualización, Service Fabric lo volverá a intentar después de 24 horas, con un máximo de tres reintentos. Al igual que las actualizaciones de Service Fabric clásico (no administradas), las aplicaciones o los nodos incorrectos pueden bloquear la actualización de la imagen del sistema operativo.

Para más información sobre las actualizaciones de imágenes, consulte Actualizaciones automáticas de imágenes de sistema operativo con conjuntos de escalado de máquinas virtuales de Azure.

Modificar la SKU del sistema operativo para un tipo de nodo

Service Fabric clústeres administrados le permite modificar la SKU del sistema operativo para un tipo de nodo en su lugar. Esto es útil para escenarios como migrar de Windows 2019 a Windows 2022 o si desea cambiar a una SKU de servidor (core) frente a servidor con SKU de experiencia de escritorio.

Modificar SKU del sistema operativo con el portal

En este tutorial, aprenderá a modificar la imagen del sistema operativo para un tipo de nodo utilizando el portal.

  1. Inicie sesión en Azure Portal.

  2. Vaya a la página de Información general del recurso de clúster. Ejemplo de página de Información general

  3. SeleccioneNode Types en la sección Settings.

  4. Seleccione el Node type nameque desea modificar.

  5. Ajuste el OS Image al nuevo valor que desea y seleccioneApply en la parte inferior. ![Ejemplo que muestra cómo cambiar la imagen del sistema operativo] [change-os-image]!

  6. Ahora Provisioning state mostrará un estado de Updating y continuará con un dominio de actualización a la vez. Una vez finalizada la operación, mostrará Succeeded de nuevo. Ejemplo que muestra la actualización de un tipo de nodo

Modificar SKU del sistema operativo con una plantilla

Para modificar la imagen del sistema operativo utilizada para un tipo de nodo mediante una plantilla de ARM, ajuste la propiedad vmImageSku al nuevo valor y realice una implementación de clúster para que la configuración surja efecto. El proveedor de clústeres administrados modificará la imagen de cada instancia por dominio de actualización.

  • El valor de apiVersion del recurso de clúster administrado de Service Fabric debe ser 2021-05-01 o posterior.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    ...
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    ...
  }
}

Configuración de las propiedades de selección de ubicación para un tipo de nodo

Las propiedades de ubicación se usan para asegurarse de que determinadas cargas de trabajo solo se ejecutan en determinados tipos de nodo del clúster. Service Fabric los clústeres administrados admiten la configuración de estas propiedades a través del portal, ARM plantilla o PowerShell.

Configurar las propiedades de ubicación con el portal

En este tutorial, aprenderá a modificar la propiedad de selección de ubicación para un tipo de nodo utilizando el portal.

  1. Inicie sesión en Azure Portal.

  2. Vaya a la página de Información general del recurso de clúster. Ejemplo de página de Información general

  3. SeleccioneNode Types en la sección Settings.

  4. Seleccione el Node type nameque desea modificar.

  5. En la sección Placement properties agregue el nombre y el valor que desee y, a continuación, seleccione Apply en la parte inferior. En esta captura de pantalla, NameSSD_Premium se utilizó con Value de true Ejemplo que muestra cómo agregar una propiedad de selección de ubicación

  6. En Provisioning state, el estado se mostrará comoUpdating hasta que se haya completado la operación. Una vez finalizada la operación, mostrará Succeeded de nuevo. Ejemplo que muestra la actualización de un tipo de nodo

Configurar propiedades de ubicación con una plantilla

Para ajustar las propiedades de selección de ubicación para un tipo de nodo mediante una plantilla de ARM, ajuste la propiedad placementProperties al nuevo valor o valores y realice una implementación de clúster para que la configuración surja efecto. En el ejemplo siguiente se muestran tres valores que se establecen para un tipo de nodo.

  • El valor de apiVersion del recurso de clúster administrado de Service Fabric debe ser 2021-05-01 o posterior.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    "placementProperties": {
      "PremiumSSD": "true",
      "NodeColor": "green",
      "SomeProperty": "5"
    }
  }
}

Configurar las propiedades de ubicación con PowerShell

En el ejemplo siguiente se actualizarán y sobrescribirán las propiedades de ubicación existentes para un tipo de nodo determinado.

$rgName = "testRG"
$clusterName = "testCluster"
$NodeTypeName = "nt1"
Set-AzServiceFabricManagedNodeType -ResourceGroupName $rgName -ClusterName $clusterName -name $NodeTypeName -PlacementProperty @{NodeColor="Red";SomeProperty="6";} -Verbose

Modificación de la SKU de máquina virtual para un tipo de nodo

Para modificar el tamaño de la SKU de máquina virtual usado para un tipo de nodo mediante una plantilla de ARM, ajuste la propiedad vmSize con el nuevo valor y realice una implementación de clúster para que la configuración surta efecto. El proveedor de clústeres administrados modificará la imagen de cada instancia por dominio de actualización. Para ver una lista de las opciones de SKU, consulte Tamaños de máquina virtual: Azure Virtual Machines | Microsoft Learn.

{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    ...
    "vmSize": "[parameters('vmImageVersion')]",
    ...
  }
}

Configuración de varios discos administrados

Los clústeres administrados de Service Fabric de forma predeterminada configuran un disco administrado. Al configurar los siguientes valores y propiedades opcionales, puede agregar más discos administrados a los tipos de nodo dentro de un clúster. Puede especificar la letra de unidad, el tipo de disco y el tamaño por disco.

Configure más discos administrados declarando la propiedad additionalDataDisks y los parámetros necesarios en la plantilla de Resource Manager como se muestra a continuación:

Requisitos de la característica

  • Lun debe ser único por disco y no puede usar lun reservado 0
  • La letra de disco no puede usar letras reservadas C o D y no se puede modificar una vez creada. S se usará como valor predeterminado si no se especifica.
  • Debe especificar un tipo de disco compatible
  • El valor de apiVersion del recurso de clúster administrado de Service Fabric debe ser 2022-01-01 o posterior.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    "additionalDataDisks": {
      "lun": "1",
      "diskSizeGB": "50",
      "diskType": "Standard_LRS",
      "diskLetter": "S" 
    }
  }
}

Consulte la lista completa de los parámetros disponibles

Configuración de la letra de unidad de los discos de datos de Service Fabric

Los clústeres administrados de Service Fabric por defecto configuran un disco de datos de Service Fabric y configuran automáticamente la letra de unidad en todos los nodos de un tipo de nodo. Al configurar esta propiedad y valor opcionales, puede especificar y recuperar la letra de disco de datos de Service Fabric si tiene requisitos específicos para la asignación de letras de unidad.

Requisitos de la característica

  • La letra de disco no puede usar letras reservadas C o D y no se puede modificar una vez creada. S se usará como valor predeterminado si no se especifica.
  • El valor de apiVersion del recurso de clúster administrado de Service Fabric debe ser 2022-01-01 o posterior.
{
  {
    "apiVersion": "[variables('sfApiVersion')]",
    "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
    "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
    "location": "[resourcegroup().location]",
    "properties": {
      "dataDiskLetter": "S"
    }
  }
}

Pasos siguientes