Partilhar via


Consideração de planeamento de capacidade de clusters do Service Fabric

O planejamento da capacidade do cluster é importante para cada ambiente de produção do Service Fabric. As principais considerações incluem:

  • Número inicial e propriedades dos tipos de nó de cluster

  • Nível de durabilidade de cada tipo de nó, que determina os privilégios de VM do Service Fabric na infraestrutura do Azure

  • Nível de confiabilidade do cluster, que determina a estabilidade dos serviços do sistema Service Fabric e a função geral do cluster

Este artigo irá orientá-lo através dos pontos de decisão significativos para cada uma dessas áreas.

Número inicial e propriedades dos tipos de nó de cluster

Um tipo de nó define o tamanho, o número e as propriedades de um conjunto de nós (máquinas virtuais) no cluster. Cada tipo de nó definido em um cluster do Service Fabric é mapeado para um conjunto de dimensionamento de máquina virtual.

Como cada tipo de nó é um conjunto de escala distinto, ele pode ser dimensionado para cima ou para baixo independentemente, ter diferentes conjuntos de portas abertas e ter métricas de capacidade diferentes. Para obter mais informações sobre a relação entre tipos de nó e conjuntos de dimensionamento de máquina virtual, consulte Tipos de nó de cluster do Service Fabric.

Cada cluster requer um tipo de nó primário, que executa serviços críticos do sistema que fornecem recursos de plataforma do Service Fabric. Embora também seja possível usar tipos de nó primário para executar seus aplicativos, é recomendável dedicá-los exclusivamente à execução de serviços do sistema.

Os tipos de nó não primário podem ser usados para definir funções de aplicativo (como serviços front-end e back-end ) e para isolar fisicamente os serviços dentro de um cluster. Os clusters do Service Fabric podem ter zero ou mais tipos de nós não primários.

O tipo de nó primário é configurado usando o isPrimary atributo sob a definição de tipo de nó no modelo de implantação do Azure Resource Manager. Consulte o objeto NodeTypeDescription para obter a lista completa das propriedades do tipo de nó. Por exemplo, abra qualquer arquivo AzureDeploy.json em exemplos de cluster do Service Fabric e procure o nodeTypes objeto Localizar na Página.

Considerações sobre planejamento de tipo de nó

O número de tipos de nós iniciais depende da finalidade do cluster e dos aplicativos e serviços em execução nele. Considere as perguntas seguintes:

  • Seu aplicativo tem vários serviços e algum deles precisa ser público ou voltado para a Internet?

    Os aplicativos típicos contêm um serviço de gateway front-end que recebe entrada de um cliente e um ou mais serviços back-end que se comunicam com os serviços front-end, com rede separada entre os serviços front-end e back-end. Esses casos normalmente exigem três tipos de nó: um tipo de nó primário e dois tipos de nó não primário (um para cada serviço front-end e back-end).

  • Os serviços que compõem seu aplicativo têm diferentes necessidades de infraestrutura, como maior RAM ou ciclos de CPU mais altos?

    Muitas vezes, o serviço front-end pode ser executado em VMs menores (tamanhos de VM como D2) que têm portas abertas para a Internet. Serviços de back-end computacionalmente intensivos podem precisar ser executados em VMs maiores (com tamanhos de VM como D4, D6, D15) que não são voltadas para a Internet. A definição de diferentes tipos de nó para esses serviços permite que você faça um uso mais eficiente e seguro das VMs subjacentes do Service Fabric e permite que elas sejam dimensionadas de forma independente. Para saber mais sobre como estimar a quantidade de recursos necessária, consulte Planejamento de capacidade para aplicativos do Service Fabric

  • Algum dos seus serviços de aplicativos precisará ser dimensionado além de 100 nós?

    Um único tipo de nó não pode ser dimensionado de forma confiável além de 100 nós por conjunto de escala de máquina virtual para aplicativos do Service Fabric. A execução de mais de 100 nós requer conjuntos adicionais de dimensionamento de máquinas virtuais (e, portanto, tipos de nós adicionais).

  • Seu cluster se estenderá por zonas de disponibilidade?

    O Service Fabric oferece suporte a clusters que se estendem por zonas de disponibilidade, implantando tipos de nó fixados em zonas específicas, garantindo alta disponibilidade de seus aplicativos. As zonas de disponibilidade exigem planejamento adicional do tipo de nó e requisitos mínimos. Para obter detalhes, consulte Topologia para abrangência de um tipo de nó primário em zonas de disponibilidade.

Ao determinar o número e as propriedades dos tipos de nó para a criação inicial do cluster, lembre-se de que você sempre pode adicionar, modificar ou remover tipos de nó (não primários) depois que o cluster for implantado. Os tipos de nó primário também podem ser dimensionados para cima ou para baixo em clusters em execução, embora para isso você precise criar um novo tipo de nó, mover a carga de trabalho e remover o tipo de nó primário original.

Uma consideração adicional para suas propriedades de tipo de nó é o nível de durabilidade, que determina os privilégios que as VMs de um tipo de nó têm na infraestrutura do Azure. Use o tamanho das VMs escolhidas para o cluster e a contagem de instâncias atribuída para tipos de nó individuais para ajudar a determinar a camada de durabilidade apropriada para cada um dos tipos de nó, conforme descrito a seguir.

Características de durabilidade do cluster

O nível de durabilidade designa os privilégios que suas VMs do Service Fabric têm com a infraestrutura subjacente do Azure. Esse privilégio permite que o Service Fabric pause qualquer solicitação de infraestrutura no nível de VM (como reinicialização, recriação de imagem ou migração) que afete os requisitos de quorum para os serviços do sistema Service Fabric e seus serviços com monitoração de estado.

Importante

O nível de durabilidade é definido por tipo de nó. Se não houver nenhum especificado, o nível Bronze será usado. As cargas de trabalho de produção exigem um nível de durabilidade Silver ou Gold para ajudar a evitar a perda de dados de solicitações de infraestrutura no nível da VM.

A tabela abaixo lista os escalões de durabilidade do Service Fabric, os respetivos requisitos e acessibilidades.

Escalão de durabilidade Número mínimo necessário de VMs Tamanhos de VM suportados Atualizações feitas no conjunto de dimensionamento da máquina virtual Atualizações e manutenção iniciadas pelo Azure
Gold 5 Tamanhos de nó completo dedicados a um único cliente - tamanhos de VM disponíveis Pode ser adiado até ser aprovado pelo cluster do Service Fabric Pode ser pausado por 2 horas por domínio de atualização para permitir tempo adicional para que as réplicas se recuperem de falhas anteriores
Silver 5 VMs de núcleo único ou mais com, pelo menos, 50 GB de SSD local Pode ser adiado até ser aprovado pelo cluster do Service Fabric Não pode ser adiado por nenhum período de tempo significativo
Bronze 1 VMs com, pelo menos, 50 GB de SSD local Não será atrasado pelo cluster do Service Fabric Não pode ser adiado por nenhum período de tempo significativo

Nota

O número mínimo de VM acima referido é um requisito necessário para cada nível de durabilidade. Temos validações in-loco que impedirão a criação ou modificação de conjuntos de escalas de máquinas virtuais existentes que não atendam a esses requisitos.

Aviso

Com a durabilidade Bronze, a atualização automática da imagem do SO não está disponível. Embora o Aplicativo de Orquestração de Patches (destinado apenas a clusters hospedados que não sejam do Azure) não seja recomendado para níveis de durabilidade Silver ou superiores, ele é sua única opção para automatizar atualizações do Windows em relação aos domínios de atualização do Service Fabric.

Importante

Independentemente do nível de durabilidade, a execução de uma operação de Desalocação em um conjunto de escala de máquina virtual destruirá o cluster.

Bronze

Os tipos de nós executados com durabilidade Bronze não obtêm privilégios. Isso significa que os trabalhos de infraestrutura que afetam suas cargas de trabalho com monitoração de estado não serão interrompidos ou atrasados. Use a durabilidade Bronze para tipos de nó que executam apenas cargas de trabalho sem monitoração de estado. Para cargas de trabalho de produção, recomenda-se executar Silver ou superior.

Prata e Ouro

Use a durabilidade Silver ou Gold para todos os tipos de nó que hospedam serviços com estado que você espera expandir com freqüência e onde você deseja que as operações de implantação sejam atrasadas e a capacidade reduzida em favor da simplificação do processo. Os cenários de expansão não devem afetar a sua escolha do nível de durabilidade.

Vantagens

  • Reduz o número de etapas necessárias para operações de dimensionamento (desativação de nó e Remove-ServiceFabricNodeState são chamados automaticamente).
  • Reduz o risco de perda de dados devido a operações de alteração de tamanho de VM in-loco e operações de infraestrutura do Azure.

Desvantagens

  • As implantações em conjuntos de dimensionamento de máquinas virtuais e outros recursos relacionados do Azure podem atingir o tempo limite, ser atrasadas ou ser totalmente bloqueadas por problemas em seu cluster ou no nível de infraestrutura.
  • Aumenta o número de eventos do ciclo de vida da réplica (por exemplo, trocas primárias) devido a desativações automatizadas de nós durante as operações de infraestrutura do Azure.
  • Tira nós de serviço por períodos de tempo enquanto ocorrem atualizações de software da plataforma Azure ou atividades de manutenção de hardware. Você pode ver nós com status Desativando/Desativado durante essas atividades. Isso reduz a capacidade do cluster temporariamente, mas não deve afetar a disponibilidade do cluster ou dos aplicativos.

Práticas recomendadas para os tipos de nós de durabilidade Silver e Gold

Siga estas recomendações para gerenciar tipos de nó com durabilidade Silver ou Gold:

  • Mantenha seu cluster e aplicativos íntegros o tempo todo e certifique-se de que os aplicativos respondam a todos os eventos do ciclo de vida da réplica do serviço (como réplica na compilação está presa) em tempo hábil.
  • Adote maneiras mais seguras de fazer uma alteração de tamanho de VM (aumentar ou diminuir a escala). Alterar o tamanho da VM de um conjunto de dimensionamento de máquina virtual requer planejamento cuidadoso e cautela. Para obter detalhes, consulte Dimensionar um tipo de nó do Service Fabric
  • Mantenha uma contagem mínima de cinco nós para qualquer conjunto de dimensionamento de máquina virtual que tenha o nível de durabilidade Gold ou Silver habilitado. O cluster entrará no estado de erro se você escalar abaixo desse limite e precisará limpar manualmente o estado (Remove-ServiceFabricNodeState) dos nós removidos.
  • Cada conjunto de dimensionamento de máquina virtual com nível de durabilidade Silver ou Gold deve ser mapeado para seu próprio tipo de nó no cluster do Service Fabric. O mapeamento de vários conjuntos de dimensionamento de máquina virtual para um único tipo de nó impedirá que a coordenação entre o cluster do Service Fabric e a infraestrutura do Azure funcione corretamente.
  • Não exclua instâncias aleatórias de VM, sempre use a escala do conjunto de escala da máquina virtual no recurso. A exclusão de instâncias aleatórias de VM tem o potencial de criar desequilíbrios na instância de VM espalhados entre domínios de atualização e domínios de falha. Esse desequilíbrio pode afetar negativamente a capacidade dos sistemas de balancear adequadamente a carga entre as instâncias de serviço/réplicas de serviço.
  • Se estiver usando o Autoscale, defina as regras de modo que as operações de dimensionamento (remoção de instâncias de VM) sejam feitas apenas um nó de cada vez. O dimensionamento em mais de uma instância de cada vez não é seguro.
  • Se excluir ou deslocalizar VMs no tipo de nó primário, nunca reduza a contagem de VMs alocadas abaixo do que a camada de confiabilidade exige. Estas operações serão bloqueadas indefinidamente numa escala definida com um nível de durabilidade de Prata ou Ouro.

Alteração dos níveis de durabilidade

Dentro de certas restrições, o nível de durabilidade do tipo de nó pode ser ajustado:

  • Os tipos de nós com níveis de durabilidade de Prata ou Ouro não podem ser rebaixados para Bronze.
  • Não há suporte para o downgrade de tipos de nó com nível de durabilidade de Gold para Silver.
  • A atualização de Bronze para Prata ou Ouro pode levar algumas horas.
  • Ao alterar o nível de durabilidade, atualize-o na configuração de extensão do Service Fabric no recurso do conjunto de dimensionamento da máquina virtual e na definição do tipo de nó no recurso de cluster do Service Fabric. Estes valores devem corresponder.

Outra consideração ao planejar a capacidade é o nível de confiabilidade do cluster, que determina a estabilidade dos serviços do sistema e do cluster geral, conforme descrito na próxima seção.

Características de fiabilidade do cluster

O nível de confiabilidade do cluster determina o número de réplicas de serviços do sistema em execução no tipo de nó primário do cluster. Quanto mais réplicas, mais confiáveis são os serviços do sistema (e, portanto, o cluster como um todo).

Importante

O nível de confiabilidade é definido no nível do cluster e determina o número mínimo de nós do tipo de nó primário. As cargas de trabalho de produção exigem um nível de confiabilidade Silver (maior ou igual a cinco nós) ou superior.

A camada de confiabilidade pode ter os seguintes valores:

  • Platinum - Os serviços do sistema são executados com uma contagem de conjuntos de réplicas de destino de nove
  • Gold - Os serviços do sistema são executados com uma contagem de sete conjuntos de réplicas de destino
  • Prata - Os serviços do sistema são executados com uma contagem de conjuntos de réplicas de destino de cinco
  • Bronze - Os serviços do sistema são executados com uma contagem de conjuntos de réplicas de destino de três

Aqui está a recomendação sobre a escolha do nível de confiabilidade. O número de nós semente também é definido como o número mínimo de nós para uma camada de confiabilidade.

Número de nós Nível de confiabilidade
1 Não especifique o reliabilityLevel parâmetro: o sistema calcula-o.
3 Bronze
5 ou 6 Silver
7 ou 8 Gold
9 e acima Platina

Ao aumentar ou diminuir o tamanho do cluster (a soma das instâncias de VM em todos os tipos de nó), considere atualizar a confiabilidade do cluster de uma camada para outra. Isso aciona as atualizações de cluster necessárias para alterar a contagem de conjuntos de réplicas de serviços do sistema. Aguarde a conclusão da atualização em andamento antes de fazer quaisquer outras alterações no cluster, como adicionar nós. Você pode monitorar o progresso da atualização no Service Fabric Explorer ou executando Get-ServiceFabricClusterUpgrade

Planejamento de capacidade para confiabilidade

As necessidades de capacidade do cluster serão determinadas pela carga de trabalho específica e pelos requisitos de confiabilidade. Esta seção fornece orientações gerais para ajudá-lo a começar com o planejamento de capacidade.

Dimensionamento de máquinas virtuais

Para cargas de trabalho de produção, recomendamos um tamanho de VM (SKU) com o seguinte:

  • Pelo menos 2 núcleos.
  • Um mínimo de 50 GB de SSD local. No entanto, algumas cargas de trabalho, como as que executam contêineres do Windows, exigem discos maiores.

Por padrão, o SSD local é configurado para 64 GB. O tamanho pode ser configurado na configuração MaxDiskQuotaInMB da seção Diagnóstico das configurações de cluster.

Para obter instruções sobre como ajustar as configurações de cluster de um cluster hospedado no Azure, consulte Atualizar a configuração de um cluster no Azure

Para obter instruções sobre como ajustar as configurações de cluster de um cluster autônomo hospedado no Windows, consulte Atualizar a configuração de um cluster autônomo

Ao escolher outros tamanhos de VM para cargas de trabalho de produção, tenha em mente as seguintes restrições:

  • Não há suporte para tamanhos de VM parciais/de núcleo único, como Standard A0.
  • Os tamanhos de VM da série A não são suportados por motivos de desempenho.
  • Não há suporte para VMs de baixa prioridade.
  • Os SKUs Burstable da Série B não são suportados.

Tipo de nó primário

As cargas de trabalho de produção no Azure exigem um mínimo de cinco nós primários (instâncias de VM) e camada de confiabilidade de Silver. É recomendável dedicar o tipo de nó primário do cluster aos serviços do sistema e usar restrições de posicionamento para implantar seu aplicativo em tipos de nó secundário.

As cargas de trabalho de teste no Azure podem executar um mínimo de um ou três nós primários. Para configurar um cluster de um nó, certifique-se de que a reliabilityLevel configuração seja omitida no modelo do Gerenciador de Recursos (especificar o valor da cadeia de caracteres vazia não reliabilityLevel é suficiente). Se você configurar o cluster de um nó configurado com o portal do Azure, essa configuração será feita automaticamente.

Aviso

Os clusters de um nó são executados com uma configuração especial sem confiabilidade e onde o dimensionamento não é suportado.

tipos de nós não primários

O número mínimo de nós para um tipo de nó não primário depende do nível de durabilidade específico do tipo de nó. Você deve planejar o número de nós (e o nível de durabilidade) com base no número de réplicas de aplicativos ou serviços que deseja executar para o tipo de nó e dependendo se a carga de trabalho é stateful ou stateless. Lembre-se de que você pode aumentar ou diminuir o número de VMs em um tipo de nó a qualquer momento depois de implantar o cluster.

Cargas de trabalho com monitoração de estado

Para cargas de trabalho de produção com monitoração de estado usando coleções confiáveis do Service Fabric ou atores confiáveis, recomenda-se uma contagem mínima e de réplicas de destino de cinco. Com isso, no estado estacionário, você acaba com uma réplica (de um conjunto de réplicas) em cada domínio de falha e domínio de atualização. Em geral, use o nível de confiabilidade definido para os serviços do sistema como um guia para a contagem de réplicas que você usa para seus serviços com monitoração de estado.

Cargas de trabalho sem estado

Para cargas de trabalho de produção sem monitoração de estado, o tamanho mínimo de tipo de nó não primário suportado é de três para manter o quórum, no entanto, recomenda-se um tamanho de tipo de nó de cinco.

Próximos passos

Antes de configurar o cluster, revise as políticas de atualização do cluster para reduzir a Not Allowed necessidade de recriar o cluster posteriormente devido a definições de configuração do sistema inalteráveis.

Para obter mais informações sobre o planejamento de clusters, consulte: