Partilhar via


Tipos de nó de cluster gerenciado do Service Fabric

Uma escala de máquina virtual retrocede cada tipo de nó em um cluster gerenciado pelo Service Fabric. Com clusters gerenciados, você faz as alterações necessárias por meio do provedor de recursos de cluster gerenciado do Service Fabric. O provedor de cluster gerenciado cria e abstrai todos os recursos subjacentes para o cluster em seu nome. Fazer com que o provedor de recursos gerencie os recursos ajuda a simplificar a implantação e o gerenciamento do tipo de nó de cluster. O gerenciamento evita erros de operação, como a exclusão de um nó de semente, e ajuda a aplicar práticas recomendadas, como validar que uma SKU de máquina virtual (VM) é segura de usar.

O restante deste documento aborda como ajustar várias configurações, incluindo:

  • Criando um tipo de nó
  • Ajustando a contagem de instâncias do tipo de nó
  • Ativando atualizações automáticas de imagens do sistema operacional
  • Alterar a imagem do SO
  • Configurando propriedades de posicionamento
  • Definindo o prefixo do nome do computador

Este documento se concentra em usar o portal do Azure e os modelos do Azure Resource Manager para fazer alterações.

Importante

No momento, os Clusters Gerenciados do Service Fabric não oferecem suporte a imagens personalizadas do sistema operacional.

Nota

Você não poderá modificar o tipo de nó enquanto uma alteração estiver em andamento. Recomenda-se deixar qualquer alteração solicitada completa antes de fazer outra.

Adicionar um tipo de nó

Você pode adicionar um tipo de nó a um cluster gerenciado do Service Fabric por meio do Portal, de um modelo do Azure Resource Manager ou do PowerShell.

Adicionar com o portal

Nota

Você só pode adicionar tipos de nó secundário usando o Portal

  1. Inicie sessão no portal do Azure

  2. Navegue até a página Visão geral do recurso de cluster.

  3. Selecione Node types na Settings secção Visualização Tipos de Nó

  4. Selecione Add na parte superior, preencha as informações necessárias e, em seguida, selecione Adicionar na parte inferior, é isso!

  5. Aguarde até que a adição do novo tipo de nó seja concluída

Adicionar com um modelo ARM

Adicione outro tipo Microsoft.ServiceFabric/managedclusters/nodetypes de recurso com os valores necessários e faça uma implantação de cluster para que a configuração entre em vigor.

  • O recurso de cluster gerenciado do Service Fabric apiVersion deve ser 2021-05-01 ou posterior.
  • Certifique-se de definir isPrimary como true se pretende substituir um tipo de nó primário 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 obter um exemplo de configuração de tipo de dois nós, consulte nosso modelo ARM de exemplo de tipo de dois nós.

Adicionar com o PowerShell

Para criar um novo tipo de nó, você precisa definir estas propriedades:

  • Grupo de recursos: grupo de recursos em que o cluster está
  • Nome do cluster: nome do cluster gerenciado
  • Nome do tipo de nó: Nome que é exclusivo de qualquer tipo de nó existente no cluster.
  • Contagem de instâncias: número inicial de nós do novo tipo de nó.
  • Tamanho da VM: VM SKU para os nós. Se não for especificado, o valor padrão Standard_D2 será usado.

Nota

Se adicionar um tipo de nó primário, a -Primary propriedade deve ser usada.

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

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

Remover um tipo de nó

Você pode remover um tipo de nó de cluster gerenciado do Service Fabric usando o Portal ou o PowerShell.

Nota

Para remover um tipo de nó primário de um cluster gerenciado do Service Fabric, você deve usar o PowerShell e deve haver mais de um tipo de nó primário disponível.

Remover com portal

  1. Inicie sessão no portal do Azure

  2. Navegue até a página Visão geral do recurso de cluster. ! [Página de visão geral de exemplo][visão geral]

  3. Selecione Node types na Settings secção Visualização Tipos de Nó

  4. Selecione o Node Type que deseja remover e selecione Delete na parte superior.

Remover com o PowerShell

Nota

Se remover um tipo de nó primário para cenários como a atualização do SKU, levará várias horas e o progresso pode ser monitorado usando SFX. Os nós de propagação migrarão um nó por caminhada de domínio de atualização (UD) de cada vez.

Para remover um tipo de nó, você precisa definir estas propriedades:

  • Grupo de recursos: grupo de recursos em que o cluster está
  • Nome do cluster: nome do cluster gerenciado
  • Nome do tipo de nó: Nome que é exclusivo de qualquer tipo de nó existente no cluster.
$resourceGroup = "myResourceGroup"
$clusterName = "myCluster"
$nodeTypeName = "nt2"

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

Dimensionar um tipo de nó

Você pode dimensionar um tipo de nó de cluster gerenciado do Service Fabric com portal, modelo ARM ou PowerShell. Você também pode configurar o dimensionamento automático para um tipo de nó secundário se quiser uma solução totalmente automatizada.

Nota

  • Um tipo de nó primário não pode ser definido para dimensionamento automático e você só pode defini-lo para escala manual.
  • Para o tipo de nó primário, você não poderá ir abaixo de 3 nós para um cluster de SKU básico e 5 nós para um cluster de SKU padrão.

Dimensionar usando o portal

Neste passo a passo, você aprenderá a modificar a contagem de nós para um tipo de nó usando portal.

  1. Inicie sessão no portal do Azure

  2. Navegue até a página Visão geral do recurso de cluster. ! [Página de visão geral de exemplo][visão geral]

  3. Selecione Node Types na Settings secção

  4. Selecione o Node type name que deseja modificar

  5. Revise e atualize as propriedades do tipo de nó, se necessário.

Amostra mostrando um aumento na contagem de nós

  1. Selecione Manage node type scaling esta opção para definir as configurações de dimensionamento e escolha entre as opções de dimensionamento automático e manual personalizadas. O dimensionamento automático é um recurso integrado que ajuda os aplicativos a terem o melhor desempenho quando a demanda muda. Você pode optar por dimensionar seu recurso manualmente para uma contagem de instâncias específica ou por meio de uma política de dimensionamento automático personalizada que é dimensionada com base em limites métricos. Você também pode agendar contagens de instâncias para dimensionar durante as janelas de tempo designadas. Saiba mais sobre o Azure Autoscale ou veja o vídeo de instruções.

    • Dimensionamento automático personalizado: selecione o apropriado scale mode para definir a política de dimensionamento automático personalizada - Scale to a specific instance countou Scale based on a metric. Este último é baseado em regras de gatilho métrico, por exemplo, aumentar a contagem de instâncias em 1 quando a porcentagem da CPU estiver acima de 70%. Depois de definir a política, selecione Save na parte superior.

      Amostra mostrando a configuração de dimensionamento automático

    • Escala manual: ajuste o Node count para o novo valor desejado e selecione Save na parte superior. Nesta captura de tela, o valor foi 3 e ajustado para 5.

      Amostra mostrando a configuração de dimensionamento manual

    Selecione Apply na parte inferior para definir essas configurações salvas no tipo de nó.

  2. O Provisioning state mostra um status de Updating até concluído. Quando concluído, ele aparece Succeeded novamente. Exemplo mostrando uma atualização de tipo de nó

Dimensionar um tipo de nó com um modelo

Para ajustar a contagem de nós para um tipo de nó usando um Modelo ARM, ajuste a vmInstanceCount propriedade com o novo valor e faça uma implantação de cluster para que a configuração entre em vigor. O cluster começa a atualizar automaticamente. Você verá os nós adicionais quando concluído.

  • O recurso de cluster gerenciado do Service Fabric apiVersion deve ser 2021-05-01 ou posterior.

Nota

O provedor de cluster gerenciado bloqueará ajustes de escala e retornará um erro se a solicitação de dimensionamento violar os mínimos exigidos.

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

Dimensionar um tipo de nó com o PowerShell

Altere a contagem de instâncias para aumentar ou diminuir o número de nós no tipo de nó que você deseja dimensionar. Você pode encontrar nomes de tipo de nó no modelo do Azure Resource Manager (modelo ARM) em sua implantação de cluster ou no Service Fabric Explorer.

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

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

O cluster começa a atualizar automaticamente. Você verá os nós adicionais quando concluído.

Ativar atualizações automáticas de imagens do SO

Você pode optar por habilitar as atualizações automáticas de imagem do sistema operacional para as máquinas virtuais que executam os nós de cluster gerenciados. Embora os recursos do conjunto de dimensionamento de máquina virtual sejam gerenciados em seu nome com clusters gerenciados pelo Service Fabric, é sua escolha habilitar atualizações automáticas de imagem do sistema operacional para os nós do cluster. Assim como nos clusters clássicos do Service Fabric , os nós de cluster gerenciados não são atualizados por padrão, a fim de evitar interrupções não intencionais no cluster.

Nota

A atualização automática de imagens do SO é suportada tanto para imagens de mercado como para imagens personalizadas.

Para ativar as atualizações automáticas do SO:

  • Use apiVersion 2021-05-01 ou versão posterior dos recursos Microsoft.ServiceFabric/managedclusters e Microsoft.ServiceFabric/managedclusters/nodetypes
  • Definir a propriedade enableAutoOSUpgrade do cluster como true
  • Defina a propriedade de recurso do nó do cluster como a mais vmImageVersion recente

Por exemplo:

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

Uma vez habilitado, o Service Fabric começa a consultar e rastrear versões de imagens do sistema operacional no cluster gerenciado. Se uma nova versão do sistema operacional estiver disponível, os tipos de nó do cluster (conjuntos de escala de máquina virtual) serão atualizados um de cada vez. As atualizações de tempo de execução do Service Fabric são executadas somente depois de confirmar que nenhuma atualização de imagem do SO do nó do cluster está em andamento.

Se uma atualização falhar, o Service Fabric tentará novamente após 24 horas, para um máximo de três tentativas. Semelhante às atualizações clássicas (não gerenciadas) do Service Fabric, aplicativos ou nós não íntegros podem bloquear a atualização da imagem do sistema operacional.

Para obter mais informações sobre atualizações de imagem, consulte Atualizações automáticas de imagem do sistema operacional com conjuntos de dimensionamento de máquina virtual do Azure.

Modificar a SKU do SO para um tipo de nó

Os clusters gerenciados do Service Fabric permitem modificar a SKU do sistema operacional para um tipo de nó no local. Esse processo é útil para cenários como a migração do Windows 2019 para o Windows 2022 ou se você quiser alternar para um SKU de Servidor (Core) vs Servidor com SKU de Experiência Desktop.

Modificar o SKU do SO com o portal

Neste passo a passo, você aprenderá a modificar a imagem do sistema operacional para um tipo de nó usando o portal.

  1. Inicie sessão no portal do Azure

  2. Navegue até a página Visão geral do recurso de cluster. ! [Página de visão geral de exemplo][visão geral]

  3. Selecione Node Types na Settings secção

  4. Selecione o Node type name que deseja modificar

  5. Ajuste o OS Image para o novo valor desejado e selecione Apply na parte inferior. ! [Exemplo mostrando a alteração da imagem do sistema operacional][alterar-os-imagem]

  6. O Provisioning state mostra um status de e executa um domínio de atualização de Updating cada vez. Quando concluído, ele aparece Succeeded novamente. Exemplo mostrando uma atualização de tipo de nó

Modificar o SKU do SO com um modelo

Para modificar a imagem do sistema operacional usada para um tipo de nó usando um modelo ARM, ajuste a vmImageSku propriedade com o novo valor e faça uma implantação de cluster para que a configuração entre em vigor. O provedor de cluster gerenciado recria imagens de cada instância por domínio de atualização.

  • O recurso de cluster gerenciado do Service Fabric apiVersion deve ser 2021-05-01 ou 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')]",
    ...
  }
}

Configurar propriedades de posicionamento para um tipo de nó

As propriedades de posicionamento são usadas para garantir que determinadas cargas de trabalho sejam executadas somente em determinados tipos de nó no cluster. Os clusters gerenciados do Service Fabric oferecem suporte à configuração dessas propriedades por meio de portal, modelo ARM ou PowerShell.

Configurar propriedades de posicionamento com o portal

Neste passo a passo, você aprenderá a modificar uma propriedade de posicionamento para um tipo de nó usando o portal.

  1. Inicie sessão no portal do Azure

  2. Navegue até a página Visão geral do recurso de cluster. ! [Página de visão geral de exemplo][visão geral]

  3. Selecione Node Types na Settings secção

  4. Selecione o Node type name que deseja modificar

  5. Placement properties Na seção, adicione o nome e o valor desejados e selecione Apply na parte inferior. Nesta captura de tela, o Name SSD_Premium foi usado com Value de true. Exemplo mostrando a adição de uma propriedade de posicionamento

  6. O Provisioning state mostra um status de Updating até concluído. Quando concluído, ele aparece Succeeded novamente. Exemplo mostrando uma atualização de tipo de nó

Configurar propriedades de posicionamento com um modelo

Para ajustar as propriedades de posicionamento para um tipo de nó usando um Modelo ARM, ajuste a placementProperties propriedade com um ou mais novos valores e faça uma implantação de cluster para que a configuração entre em vigor. O exemplo a seguir mostra três valores sendo definidos para um tipo de nó.

  • O recurso de cluster gerenciado do Service Fabric apiVersion deve ser 2021-05-01 ou 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 propriedades de posicionamento com o PowerShell

O exemplo a seguir atualiza e substitui quaisquer propriedades de posicionamento existentes para um determinado tipo de nó.

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

Modificar a SKU da VM para um tipo de nó

Para modificar o tamanho da SKU da VM usada para um tipo de nó usando um Modelo ARM, ajuste a vmSize propriedade com o novo valor e faça uma implantação de cluster para que a configuração entre em vigor. O provedor de cluster gerenciado recria imagens de cada instância por domínio de atualização. Para obter uma lista de opções de SKU, consulte os tamanhos de VM - Máquinas Virtuais do Azure | Microsoft Learn.

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

Configurar vários discos gerenciados

Por padrão, os clusters gerenciados do Service Fabric configuram um disco gerenciado. Ao configurar a propriedade e os valores opcionais a seguir, você pode adicionar mais discos gerenciados aos tipos de nó dentro de um cluster. Você pode especificar a letra da unidade, o tipo de disco e o tamanho por disco.

Configure mais discos gerenciados declarando a propriedade e os parâmetros necessários em seu modelo do Gerenciador de additionalDataDisks Recursos da seguinte maneira:

Requisitos de recursos

  • O Lun deve ser exclusivo por disco e não pode usar o lun 0 ou 1 reservado
  • A letra de disco não pode usar letras reservadas C ou D e não pode ser modificada depois de criada. S é usado por padrão se não for especificado.
  • Deve especificar um tipo de disco suportado
  • O recurso de cluster gerenciado do Service Fabric apiVersion deve ser 2022-01-01 ou posterior.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    "additionalDataDisks": {
      "lun": "2",
      "diskSizeGB": "50",
      "diskType": "Standard_LRS",
      "diskLetter": "S" 
    }
  }
}

Veja a lista completa de parâmetros disponíveis.

Configurar a letra da unidade de disco de dados do Service Fabric

Por padrão, os clusters gerenciados do Service Fabric configuram um disco de dados do Service Fabric e configuram automaticamente a letra da unidade em todos os nós de um tipo de nó. Ao configurar essa propriedade e esse valor opcionais, você pode especificar e recuperar a letra do disco de dados do Service Fabric se tiver requisitos específicos para o mapeamento de letras de unidade.

Requisitos de recursos

  • A letra de disco não pode usar letras reservadas C ou D e não pode ser modificada depois de criada. S é usado como padrão se não for especificado.
  • O recurso de cluster gerenciado do Service Fabric apiVersion deve ser 2022-01-01 ou posterior.
{
  {
    "apiVersion": "[variables('sfApiVersion')]",
    "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
    "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
    "location": "[resourcegroup().location]",
    "properties": {
      "dataDiskLetter": "S"
    }
  }
}

Definir prefixo do nome do computador

Os clientes que precisam de nomes mais longos para seu tipo de nó para uma descrição mais detalhada se beneficiam do prefixo do nome do computador.

Nota

O prefixo do nome do computador só funciona para a versão 2024-04-01 or laterda API do Service Fabric.

Implemente as seguintes alterações de modelo ARM para definir o prefixo do nome do computador:

{
  "apiVersion": "2024-04-01",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', 'BE-testResourceGroup-testRegion-test')]",
  "location": "[parameters('clusterLocation')]",
  "dependsOn": [
      "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isPrimary": false,
    "dataDiskSizeGB": "[parameters('dataDiskSizeGB')]",
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('vmSize')]",
    "vmInstanceCount": "[parameters('vmInstanceCount')]",
    "computerNamePrefix": "computerNamePrefix"
  }
} 

Próximos passos