Planejar e preparar uma implantação de cluster
Planejar e preparar a implantação de um cluster de produção é muito importante. Há muitos fatores a considerar. Este artigo orienta você pelas etapas de preparação da implantação do cluster.
Leia as informações sobre práticas recomendadas
Para gerenciar aplicativos e clusters do Azure Service Fabric com êxito, há operações que recomendamos que você execute para otimizar a confiabilidade do seu ambiente de produção. Para obter mais informações, leia Práticas recomendadas de cluster e aplicativo do Service Fabric.
Selecione o SO para o cluster
O Service Fabric permite a criação de clusters do Service Fabric em qualquer VM ou computador que execute o Windows Server ou Linux. Antes de implantar seu cluster, você deve escolher o sistema operacional: Windows ou Linux. Cada nó (máquina virtual) no cluster executa o mesmo sistema operacional, não é possível misturar VMs Windows e Linux no mesmo cluster.
Planeamento da capacidade
Para qualquer implementação de produção, o planeamento da capacidade é um passo importante. Seguem-se alguns aspetos a considerar como parte do processo.
- O número inicial de tipos de nó para o cluster
- As propriedades de cada tipo de nó (tamanho, número de instâncias, principal, voltado para a Internet, número de VMs, etc.)
- As características de fiabilidade e durabilidade do cluster
Selecione o número inicial de tipos de nó
Primeiro, você precisa descobrir para que o cluster que você está criando será usado. Que tipos de aplicativos você está planejando implantar nesse cluster? Seu aplicativo tem vários serviços e algum deles precisa ser público ou voltado para a Internet? Os seus serviços (que compõem a sua aplicação) têm diferentes necessidades de infraestrutura, tais como maior RAM ou ciclos de CPU mais elevados? Um cluster do Service Fabric pode consistir em mais de um tipo de nó: um tipo de nó primário e um ou mais tipos de nó não primário. Cada tipo de nó é mapeado para um conjunto de escala de máquina virtual. Cada tipo de nó pode então ser aumentado ou reduzido verticalmente de forma independente, pode ter conjuntos diferentes de portas abertas e ter métricas de capacidade diferente. As propriedades do nó e as restrições de posicionamento podem ser configuradas para restringir serviços específicos a tipos de nós específicos. Para obter mais informações, consulte Planejamento da capacidade de cluster do Service Fabric.
Selecionar propriedades de nó para cada tipo de nó
Os tipos de nó definem a SKU, o número e as propriedades das VMs no conjunto de escala associado.
O tamanho mínimo das VMs para cada tipo de nó é determinado pela camada de durabilidade escolhida para o tipo de nó. Antes de escolher uma SKU de VM, certifique-se de entender as etapas necessárias para o dimensionamento vertical se decidir que precisará de uma SKU de VM diferente no futuro.
O número mínimo de VMs para o tipo de nó primário é determinado pela camada de confiabilidade escolhida.
Consulte as recomendações mínimas para tipos de nós primários, cargas de trabalho com monitoração de estado em tipos de nós não primários e cargas de trabalho sem estado em tipos de nós não primários.
Mais do que o número mínimo de nós deve ser baseado no número de réplicas do aplicativo/serviços que você deseja executar nesse tipo de nó. O planejamento de capacidade para aplicativos do Service Fabric ajuda a estimar os recursos necessários para executar seus aplicativos. Você sempre pode dimensionar o cluster para cima ou para baixo mais tarde para ajustar a alteração da carga de trabalho do aplicativo.
Usar discos efêmeros do sistema operacional para conjuntos de dimensionamento de máquinas virtuais
Os discos efêmeros do sistema operacional são armazenamento criado na máquina virtual (VM) local e não salvos no Armazenamento remoto do Azure. Eles são recomendados para todos os tipos de nó do Service Fabric (Primário e Secundário), porque em comparação com os discos de SO persistentes tradicionais, os discos de SO efêmeros:
- Reduza a latência de leitura/gravação no disco do sistema operacional
- Habilite operações mais rápidas de gerenciamento de nó de redefinição/reimagem
- Reduza os custos gerais (os discos são gratuitos e não incorrem em custos adicionais de armazenamento)
Os discos efêmeros do sistema operacional não são um recurso específico do Service Fabric, mas sim um recurso dos conjuntos de escala de máquina virtual do Azure mapeados para tipos de nó do Service Fabric. Usá-los com o Service Fabric requer o seguinte em seu modelo de cluster do Azure Resource Manager:
Certifique-se de que os tipos de nó especificam tamanhos de VM do Azure suportados para discos de SO efémero, e que o tamanho da VM tem tamanho de cache suficiente para suportar o tamanho do disco do SO (consulte a Nota abaixo). Por exemplo:
"vmNodeType1Size": { "type": "string", "defaultValue": "Standard_DS3_v2"
Nota
Certifique-se de selecionar um tamanho de VM com um tamanho de cache igual ou maior do que o tamanho do disco do sistema operacional da própria VM, caso contrário, sua implantação do Azure pode resultar em erro (mesmo que seja inicialmente aceita).
Especifique uma versão () do conjunto de dimensionamento de
2018-06-01
máquina virtual ouvmssApiVersion
posterior:"variables": { "vmssApiVersion": "2018-06-01",
Na seção Conjunto de dimensionamento de máquina virtual do seu modelo de implantação, especifique
Local
a opção paradiffDiskSettings
:"apiVersion": "[variables('vmssApiVersion')]", "type": "Microsoft.Compute/virtualMachineScaleSets", "virtualMachineProfile": { "storageProfile": { "osDisk": { "caching": "ReadOnly", "createOption": "FromImage", "diffDiskSettings": { "option": "Local" }, } } }
Nota
Os aplicativos de usuário não devem ter nenhuma dependência/arquivo/artefato no disco do sistema operacional, pois o disco do sistema operacional seria perdido no caso de uma atualização do sistema operacional.
Nota
O VMSS não efêmero existente não pode ser atualizado in-loco para usar discos efêmeros. Para migrar, os usuários terão que adicionar um novo nodeType com discos efêmeros, mover as cargas de trabalho para o novo nodeType & remover o nodeType existente.
Para obter mais informações e mais opções de configuração, consulte Discos de SO efêmeros para VMs do Azure
Selecione os níveis de durabilidade e confiabilidade para o cluster
A camada de durabilidade é usada para indicar ao sistema os privilégios que suas VMs têm com a infraestrutura subjacente do Azure. No tipo de nó primário, esse privilégio permite que o Service Fabric pause qualquer solicitação de infraestrutura no nível de VM (como uma reinicialização de VM, reimagem de VM ou migração de VM) que afete os requisitos de quorum para os serviços do sistema e seus serviços com monitoração de estado. Nos tipos de nó não primário, esse privilégio permite que o Service Fabric pause quaisquer solicitações de infraestrutura no nível de VM (como reinicialização de VM, reimagem de VM e migração de VM) que afetem os requisitos de quorum para seus serviços com monitoração de estado. Para obter vantagens dos diferentes níveis e recomendações sobre qual nível usar e quando, consulte As características de durabilidade do cluster.
A camada de confiabilidade é usada para definir o número de réplicas dos serviços do sistema que você deseja executar nesse cluster no tipo de nó primário. Quanto maior o número de réplicas, mais confiáveis são os serviços do sistema em seu cluster. Para obter vantagens dos diferentes níveis e recomendações sobre qual nível usar e quando, consulte As características de confiabilidade do cluster.
Habilitar proxy reverso e/ou DNS
Os serviços que se conectam uns aos outros dentro de um cluster geralmente podem acessar diretamente os pontos de extremidade de outros serviços porque os nós em um cluster estão na mesma rede local. Para facilitar a conexão entre serviços, o Service Fabric fornece serviços adicionais: um serviço DNS e um serviço de proxy reverso. Ambos os serviços podem ser habilitados ao implantar um cluster.
Como muitos serviços, especialmente serviços em contêineres, podem ter um nome de URL existente, ser capaz de resolvê-los usando o protocolo DNS padrão (em vez do protocolo Naming Service) é conveniente, especialmente em cenários de "lift and shift" de aplicativos. Isso é exatamente o que o serviço DNS faz. Ele permite mapear nomes DNS para um nome de serviço e, portanto, resolver endereços IP de ponto final.
O proxy reverso aborda serviços no cluster que expõem pontos de extremidade HTTP (incluindo HTTPS). O proxy reverso simplifica muito a chamada de outros serviços fornecendo um formato de URI específico. O proxy reverso também lida com as etapas de resolução, conexão e repetição necessárias para que um serviço se comunique com outro.
Preparar para a recuperação após desastre
Uma parte crítica do fornecimento de alta disponibilidade é garantir que os serviços possam sobreviver a todos os diferentes tipos de falhas. Isso é especialmente importante para falhas não planejadas e fora do seu controle. Preparar-se para recuperação de desastres descreve alguns modos de falha comuns que podem ser desastres se não forem modelados e gerenciados corretamente. Também discute mitigações e ações a serem tomadas se um desastre acontecer de qualquer maneira.
Lista de verificação da preparação de produção
Seu aplicativo e cluster estão prontos para receber tráfego de produção? Antes de implantar seu cluster na produção, execute a lista de verificação de preparação para produção. Mantenha seu aplicativo e cluster funcionando sem problemas, trabalhando com os itens nesta lista de verificação. Recomendamos vivamente que todos estes itens sejam verificados antes de entrarem em produção.