Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os tipos de nó do Service Fabric têm uma suposição inerente de que, em algum momento, serviços com estado podem ser alocados nos nós. Os tipos de nó sem estado mudam essa suposição aplicada a um tipo de nó. Isso permite que um tipo de nó se beneficie de funcionalidades como operações de expansão mais rápidas, suporte para atualizações automáticas do sistema operativo, Spot VMs, e a capacidade de se expandir para mais de 100 nós em um único tipo de nó.
- Os tipos de nó primário não podem ser configurados para serem sem estado.
- Os tipos de nó sem estado requerem uma versão da API de 2021-05-01 ou mais recente.
- Isso definirá automaticamente a propriedade multipleplacementgroup como true, sobre a qual você pode saber mais aqui. Os requisitos e limitações do conjunto de dimensionamento de máquina virtual subjacente para habilitar essa propriedade se aplicam a clusters gerenciados do Service Fabric.
- Isso permite o suporte para até 1.000 nós para um determinado tipo de nó.
- Os tipos de nó sem estado podem utilizar um disco temporário de SKU de VM.
Habilitando tipos de nó sem estado em um cluster gerenciado do Service Fabric
Para definir um ou mais tipos de nó como "stateless" em um recurso de tipo de nó, defina a propriedade isStateless como true. Ao implantar um cluster do Service Fabric com tipos de nó sem estado, a configuração requer pelo menos um tipo de nó primário que não seja sem estado no cluster.
Modelos de exemplo estão disponíveis: Modelo de tipos de nó sem estado do Service Fabric
- O recurso de cluster gerenciado do Service Fabric, versão da API, deve ser 2021-05-01 ou mais recente.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"dependsOn": [
"[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
],
"properties": {
"isStateless": true,
"isPrimary": false,
"vmImagePublisher": "[parameters('vmImagePublisher')]",
"vmImageOffer": "[parameters('vmImageOffer')]",
"vmImageSku": "[parameters('vmImageSku')]",
"vmImageVersion": "[parameters('vmImageVersion')]",
"vmSize": "[parameters('nodeTypeSize')]",
"vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
"dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
}
}
Habilitando tipos de nó sem estado usando VMs spot em um cluster gerenciado pelo Service Fabric
As Máquinas Virtuais Spot do Azure em conjuntos de escala permitem que os utilizadores tirem partido da capacidade de computação não utilizada com uma poupança de custos significativa. A qualquer momento em que o Azure necessitar recuperar a capacidade, a infraestrutura do Azure elimina essas instâncias de Spot Virtual Machines do Azure. Portanto, os tipos de nós de VM Spot são ótimos para cargas de trabalho que podem lidar com interrupções e não precisam ser concluídas dentro de um período de tempo específico. As cargas de trabalho recomendadas incluem desenvolvimento, testes, trabalhos de processamento em lote, big data ou outros cenários sem estado em grande escala.
Para definir um ou mais tipos de nó sem estado para utilizar Spot VM, defina as propriedades isStateless e IsSpotVM como true. Ao implantar um cluster do Service Fabric com tipos de nó sem estado, é necessário ter pelo menos um tipo de nó primário no cluster, o qual não seja sem estado. Os tipos de nó sem estado configurados para usar VMs spot têm a Política de Remoção definida como 'Excluir' por padrão. Os clientes podem configurar a 'evictionPolicy' para ser 'Delete' ou 'Deallocate', mas isso só pode ser definido no momento da criação do tipo de nó.
Modelos de exemplo estão disponíveis: Modelo de Tipos de Nó Spot do Service Fabric
- O recurso de cluster gerenciado do Service Fabric apiVersion deve ser 2022-06-01-preview ou posterior.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"dependsOn": [
"[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
],
"properties": {
"isStateless": true,
"isPrimary": false,
"IsSpotVM": true,
"vmImagePublisher": "[parameters('vmImagePublisher')]",
"vmImageOffer": "[parameters('vmImageOffer')]",
"vmImageSku": "[parameters('vmImageSku')]",
"vmImageVersion": "[parameters('vmImageVersion')]",
"vmSize": "[parameters('nodeTypeSize')]",
"vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
"dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
}
}
Habilitação de VMs Spot com Tentar e Restaurar
Essa configuração permite que a plataforma tente restaurar automaticamente as VMs Spot removidas. Consulte o documento do conjunto de escala da máquina virtual para mais informações. Essa configuração só pode ser habilitada em novos tipos de nó Spot especificando o spotRestoreTimeout, que é uma duração de tempo ISO 8601 com um valor entre 30 e 2880 minutos. A plataforma tentará restaurar as VMs por esse período, após a remoção.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"dependsOn": [
"[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
],
"properties": {
"isStateless": true,
"isPrimary": false,
"IsSpotVM": true,
"evictionPolicy": "deallocate",
"spotRestoreTimeout": "PT30M",
"vmImagePublisher": "[parameters('vmImagePublisher')]",
"vmImageOffer": "[parameters('vmImageOffer')]",
"vmImageSku": "[parameters('vmImageSku')]",
"vmImageVersion": "[parameters('vmImageVersion')]",
"vmSize": "[parameters('nodeTypeSize')]",
"vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
"dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
}
}
Configurar tipos de nó sem estado para resiliência de zona
Para configurar um tipo de nó sem estado para resiliência de zona, você deve configurar a abrangência de zona de cluster gerenciada no nível do cluster.
Nota
A propriedade de resiliência zonal deve ser definida no nível do cluster e essa propriedade não pode ser alterada no local.
Suporte temporário a disco
Os tipos de nó sem estado podem ser configurados para usar o disco temporário como o disco de dados em vez de um disco gerenciado. A utilização de um disco temporário pode reduzir os custos de cargas de trabalho sem estado. Para configurar um tipo de nó sem estado para usar o disco temporário, defina a propriedade useTempDataDisk como true.
- O tamanho do disco temporário deve ser de 32 GB ou mais. O tamanho do disco temporário depende do tamanho da VM.
- O disco temporário não é criptografado pela criptografia do lado do servidor, a menos que você habilite a criptografia no host.
- 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]",
"dependsOn": [
"[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
],
"properties": {
"isStateless": true,
"isPrimary": false,
"vmImagePublisher": "[parameters('vmImagePublisher')]",
"vmImageOffer": "[parameters('vmImageOffer')]",
"vmImageSku": "[parameters('vmImageSku')]",
"vmImageVersion": "[parameters('vmImageVersion')]",
"vmSize": "[parameters('nodeTypeSize')]",
"vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
"useTempDataDisk": true
}
}
Migrar para usar tipos de nó sem estado em um cluster
Para todos os cenários de migração, um novo tipo de nó sem estado precisa ser adicionado. Um tipo de nó existente não pode ser migrado para ser sem estado. Você pode adicionar um novo tipo de nó sem estado a um cluster existente gerido pelo Service Fabric e remover qualquer tipo de nó original do cluster.
Próximos passos
Para saber mais sobre clusters gerenciados do Service Fabric, consulte: