Adicionar ou remover nós de um cluster do Service Fabric autónomo em execução no Windows Server

Depois de criar seu cluster autônomo do Service Fabric em máquinas Windows Server, suas necessidades (comerciais) podem mudar e você precisará adicionar ou remover nós ao cluster, conforme descrito neste artigo.

Nota

A funcionalidade de adição e remoção de nós não é suportada em clusters de desenvolvimento local.

Adicionar nós ao cluster

  1. Prepare a VM/máquina que deseja adicionar ao cluster seguindo as etapas descritas em Planejar e preparar a implantação do cluster do Service Fabric.

  2. Identifique a qual domínio de falha e domínio de atualização você adicionará essa VM/máquina.

    Se você usar certificados para proteger o cluster, espera-se que os certificados sejam instalados nos repositórios de certificados locais em preparação para que o nó ingresse no cluster. O analógico é aplicável ao usar outras formas de segurança.

  3. Área de trabalho remota (RDP) na VM/máquina que você deseja adicionar ao cluster.

  4. Copie ou baixe o pacote autônomo do Service Fabric para Windows Server para a VM/máquina e descompacte o pacote.

  5. Execute o PowerShell com privilégios elevados e vá para o local do pacote descompactado.

  6. Execute o script AddNode.ps1 com os parâmetros que descrevem o novo nó a ser adicionado. O exemplo a seguir adiciona um novo nó chamado VM5, com o tipo NodeType0 e o endereço IP 182.17.34.52, em UD1 e fd:/dc1/r0. ExistingClusterConnectionEndPoint é um ponto de extremidade de conexão para um nó já existente no cluster, que pode ser o endereço IP de qualquer nó no cluster.

    Inseguro (prototipagem):

    .\AddNode.ps1 -NodeName VM5 -NodeType NodeType0 -NodeIPAddressorFQDN 182.17.34.52 -ExistingClientConnectionEndpoint 182.17.34.50:19000 -UpgradeDomain UD1 -FaultDomain fd:/dc1/r0 -AcceptEULA
    

    Seguro (baseado em certificado):

    $CertThumbprint= "***********************"
    
    .\AddNode.ps1 -NodeName VM5 -NodeType NodeType0 -NodeIPAddressorFQDN 182.17.34.52 -ExistingClientConnectionEndpoint 182.17.34.50:19000 -UpgradeDomain UD1 -FaultDomain fd:/dc1/r0 -X509Credential -ServerCertThumbprint $CertThumbprint  -AcceptEULA
    

    Quando a execução do script terminar, você poderá verificar se o novo nó foi adicionado executando o cmdlet Get-ServiceFabricNode .

  7. Para garantir a consistência entre nós diferentes no cluster, você deve iniciar uma atualização de configuração. Execute Get-ServiceFabricClusterConfiguration para obter o arquivo de configuração mais recente e adicionar o nó recém-adicionado à seção "Nós". Também é recomendável ter sempre a configuração de cluster mais recente disponível caso você precise reimplantar um cluster que tenha a mesma configuração.

    {
        "nodeName": "vm5",
        "iPAddress": "182.17.34.52",
        "nodeTypeRef": "NodeType0",
        "faultDomain": "fd:/dc1/r0",
        "upgradeDomain": "UD1"
    }
    
  8. Execute Start-ServiceFabricClusterConfigurationUpgrade para iniciar a atualização.

    Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
    

    Você pode monitorar o progresso da atualização no Service Fabric Explorer. Como alternativa, você pode executar Get-ServiceFabricClusterUpgrade.

Adicionar nós a clusters configurados com a Segurança do Windows usando gMSA

Para clusters configurados com a Conta de Serviço Gerenciado de Grupo (gMSA)(https://technet.microsoft.com/library/hh831782.aspx), um novo nó pode ser adicionado usando uma atualização de configuração:

  1. Execute Get-ServiceFabricClusterConfiguration em qualquer um dos nós existentes para obter o arquivo de configuração mais recente e adicionar detalhes sobre o novo nó que você deseja adicionar na seção "Nós". Verifique se o novo nó faz parte da mesma conta gerenciada pelo grupo. Esta conta deve ser um Administrador em todas as máquinas.

    {
        "nodeName": "vm5",
         "iPAddress": "182.17.34.52",
         "nodeTypeRef": "NodeType0",
         "faultDomain": "fd:/dc1/r0",
         "upgradeDomain": "UD1"
    }
    
  2. Execute Start-ServiceFabricClusterConfigurationUpgrade para iniciar a atualização.

    Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
    

    Você pode monitorar o progresso da atualização no Service Fabric Explorer. Como alternativa, você pode executar Get-ServiceFabricClusterUpgrade

Adicionar tipos de nó ao cluster

Para adicionar um novo tipo de nó, modifique sua configuração para incluir o novo tipo de nó na seção "NodeTypes" em "Propriedades" e inicie uma atualização de configuração usando Start-ServiceFabricClusterConfigurationUpgrade. Quando a atualização for concluída, você poderá adicionar novos nós ao cluster com esse tipo de nó.

Remover nós do cluster

Um nó pode ser removido de um cluster usando uma atualização de configuração, da seguinte maneira:

  1. Execute Get-ServiceFabricClusterConfiguration para obter o arquivo de configuração mais recente e remover o nó da seção "Nós". Adicione o parâmetro "NodesToBeRemoved" à seção "Setup" dentro da seção "FabricSettings". O "valor" deve ser uma lista separada por vírgulas de nomes de nós de nós que precisam ser removidos.

     "fabricSettings": [
         {
         "name": "Setup",
         "parameters": [
             {
             "name": "FabricDataRoot",
             "value": "C:\\ProgramData\\SF"
             },
             {
             "name": "FabricLogRoot",
             "value": "C:\\ProgramData\\SF\\Log"
             },
             {
             "name": "NodesToBeRemoved",
             "value": "vm0, vm1"
             }
         ]
         }
     ]
    
  2. Execute Start-ServiceFabricClusterConfigurationUpgrade para iniciar a atualização.

    Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
    

    Você pode monitorar o progresso da atualização no Service Fabric Explorer. Como alternativa, você pode executar Get-ServiceFabricClusterUpgrade.

Nota

A remoção de nós pode iniciar várias atualizações. Alguns nós são marcados com IsSeedNode=”true” tag e podem ser identificados consultando o manifesto do cluster usando Get-ServiceFabricClusterManifest. A remoção de tais nós pode levar mais tempo do que outros, uma vez que os nós semente terão que ser movidos em tais cenários. O cluster deve manter um mínimo de 3 nós do tipo de nó primário.

Remover tipos de nó do cluster

Antes de remover um tipo de nó, verifique se há algum nó fazendo referência ao tipo de nó. Remova esses nós antes de remover o tipo de nó correspondente. Depois que todos os nós correspondentes forem removidos, você poderá remover o NodeType da configuração do cluster e iniciar uma atualização de configuração usando Start-ServiceFabricClusterConfigurationUpgrade.

Substituir nós primários do cluster

A substituição de nós primários deve ser realizada um nó após o outro, em vez de remover e adicionar lotes.

Próximos passos