Adicionar ou remover nós de um cluster do Service Fabric autônomo em execução no Windows Server
Após você ter criado seu cluster autônomo do Service Fabric em computadores com Windows Server, suas necessidades (ou dos seus negócios) podem mudar e talvez seja preciso adicionar ou remover nós do cluster, conforme descrito neste artigo.
Observação
Não há suporte para a funcionalidade de adição e remoção de nós em clusters de desenvolvimento locais.
Adicionar nós ao cluster
Prepare a VM/computador que você deseja adicionar ao cluster seguindo as etapas descritas em Planejar e preparar a implantação de cluster do Service Fabric.
Identifique a qual domínio de falha e domínio de atualização você vai adicionar essa VM/computador.
Se você usa certificados para proteger o cluster, os certificados deverão ser instalados nos repositórios de certificados locais em preparação para o nó ingressar no cluster. A analogia é aplicável ao usar outras formas de segurança.
RDP (área de trabalho remota) na VM/computador que você deseja adicionar ao cluster.
Copie ou baixe o pacote autônomo do Service Fabric para Windows Server para esta VM/computador e descompacte o pacote.
Execute o PowerShell com privilégios elevados e vá até o local do pacote descompactado.
Execute o script AddNode.ps1 com os parâmetros que descrevem o novo nó a adicionar. O exemplo a seguir adiciona um novo nó chamado VM5, com o tipo NodeType0 e endereço IP 182.17.34.52 em UD1 e fd:/dc1/r0.
ExistingClusterConnectionEndPoint
é um ponto de extremidade de conexão para um nó em um cluster já existente, que pode ser o endereço IP de qualquer nó no cluster.Não seguro (criação de protótipos):
.\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 o script terminar de ser executado, você pode verificar se o novo nó foi adicionado executando o cmdlet Get-ServiceFabricNode.
Para garantir a consistência em diferentes nós do cluster, você deve iniciar uma atualização de configuração. Execute ServiceFabricClusterConfiguration Get para obter o arquivo de configuração mais recente e adicionar o nó recém-adicionado à seção "Nós". Também é recomendável sempre ter a configuração de cluster mais recente disponível caso você precise reimplantar um cluster com a mesma configuração.
{ "nodeName": "vm5", "iPAddress": "182.17.34.52", "nodeTypeRef": "NodeType0", "faultDomain": "fd:/dc1/r0", "upgradeDomain": "UD1" }
Execute Start-ServiceFabricClusterConfigurationUpgrade para iniciar a atualização.
Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
Você pode monitorar o andamento da atualização no Service Fabric Explorer. Como alternativa, você pode executar Get-ServiceFabricClusterUpgrade.
Adicionar nós aos clusters configurados com a Segurança do Windows usando a 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:
Executar Get-ServiceFabricClusterConfiguration em qualquer um dos nós existentes para obter o arquivo de configuração mais recente e adicione os detalhes sobre o novo nó que você deseja adicionar na seção "Nós". Verifique se que o novo nó é parte da mesma conta gerenciada de grupo. Essa conta deve ser um Administrador em todos os computadores.
{ "nodeName": "vm5", "iPAddress": "182.17.34.52", "nodeTypeRef": "NodeType0", "faultDomain": "fd:/dc1/r0", "upgradeDomain": "UD1" }
Execute Start-ServiceFabricClusterConfigurationUpgrade para iniciar a atualização.
Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
Você pode monitorar o andamento da atualização no Service Fabric Explorer. Como alternativa, você pode executar Get-ServiceFabricClusterUpgrade
Adicionar tipos de nós ao cluster
Para adicionar um novo tipo de nó, modifique a configuração para incluir o novo tipo de na seção "Tipos de Nós" em "Propriedades" e comece uma atualização de configuração usando Start-ServiceFabricClusterConfigurationUpgrade. Quando a atualização for concluída, você pode 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:
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" na seção "Configurar" dentro da seção "Configurações do Fabric". O "valor" deve ser uma lista separada por vírgulas de nomes de nó de nós que devem ser removidos.
"fabricSettings": [ { "name": "Setup", "parameters": [ { "name": "FabricDataRoot", "value": "C:\\ProgramData\\SF" }, { "name": "FabricLogRoot", "value": "C:\\ProgramData\\SF\\Log" }, { "name": "NodesToBeRemoved", "value": "vm0, vm1" } ] } ]
Execute Start-ServiceFabricClusterConfigurationUpgrade para iniciar a atualização.
Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
Você pode monitorar o andamento da atualização no Service Fabric Explorer. Como alternativa, você pode executar Get-ServiceFabricClusterUpgrade.
Observação
A remoção de nós pode iniciar várias atualizações. Alguns nós são marcados com a marca IsSeedNode=”true”
e podem ser identificadas consultando o manifesto do cluster usando Get-ServiceFabricClusterManifest
. A remoção desses nós pode levar mais tempo do que outros, pois os nós de propagação terão de ser movidos nesses 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 existem nós referenciando o tipo de nó. Remova esses nós antes de remover o tipo de nó correspondente. Depois que todos os nós correspondentes são removidos, você pode remover o Tipo de Nó da configuração do cluster e começar uma configuração de atualização usando Start-ServiceFabricClusterConfigurationUpgrade.
Substituir nós primários de seu cluster
A substituição de nós primários deve ser realizada um nó após o outro, em vez de remover e depois adicionar em lotes.