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
Inicie sessão no portal do Azure
Navegue até a página Visão geral do recurso de cluster.
Selecione
Node types
naSettings
secçãoSelecione
Add
na parte superior, preencha as informações necessárias e, em seguida, selecione Adicionar na parte inferior, é isso!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
comotrue
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
Inicie sessão no portal do Azure
Navegue até a página Visão geral do recurso de cluster. ! [Página de visão geral de exemplo][visão geral]
Selecione
Node types
naSettings
secçãoSelecione o
Node Type
que deseja remover e selecioneDelete
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.
Inicie sessão no portal do Azure
Navegue até a página Visão geral do recurso de cluster. ! [Página de visão geral de exemplo][visão geral]
Selecione
Node Types
naSettings
secçãoSelecione o
Node type name
que deseja modificarRevise e atualize as propriedades do tipo de nó, se necessário.
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 count
ouScale 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, selecioneSave
na parte superior.Escala manual: ajuste o
Node count
para o novo valor desejado e selecioneSave
na parte superior. Nesta captura de tela, o valor foi3
e ajustado para5
.
Selecione
Apply
na parte inferior para definir essas configurações salvas no tipo de nó.O
Provisioning state
mostra um status deUpdating
até concluído. Quando concluído, ele apareceSucceeded
novamente.
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.
Inicie sessão no portal do Azure
Navegue até a página Visão geral do recurso de cluster. ! [Página de visão geral de exemplo][visão geral]
Selecione
Node Types
naSettings
secçãoSelecione o
Node type name
que deseja modificarAjuste o
OS Image
para o novo valor desejado e selecioneApply
na parte inferior. ! [Exemplo mostrando a alteração da imagem do sistema operacional][alterar-os-imagem]O
Provisioning state
mostra um status de e executa um domínio de atualização deUpdating
cada vez. Quando concluído, ele apareceSucceeded
novamente.
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.
Inicie sessão no portal do Azure
Navegue até a página Visão geral do recurso de cluster. ! [Página de visão geral de exemplo][visão geral]
Selecione
Node Types
naSettings
secçãoSelecione o
Node type name
que deseja modificarPlacement properties
Na seção, adicione o nome e o valor desejados e selecioneApply
na parte inferior. Nesta captura de tela, oName
SSD_Premium
foi usado comValue
detrue
.O
Provisioning state
mostra um status deUpdating
até concluído. Quando concluído, ele apareceSucceeded
novamente.
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 later
da 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"
}
}