Gerir atualizações do cluster do Service Fabric
Um cluster do Azure Service Fabric é um recurso que você possui, mas é parcialmente gerenciado pela Microsoft. Veja como gerenciar quando e como a Microsoft atualiza seu cluster do Azure Service Fabric.
Para obter mais informações sobre conceitos e processos de atualização de cluster, consulte Atualizando e atualizando clusters do Azure Service Fabric.
Definir modo de atualização
Você pode definir seu cluster para receber atualizações automáticas do Service Fabric à medida que são lançadas pela Microsoft ou pode escolher manualmente em uma lista de versões atualmente suportadas definindo o modo de atualização para o cluster. Isso pode ser feito por meio do controle de modo de atualização de malha no portal do Azure ou da upgradeMode
configuração em seu modelo de implantação de cluster.
Portal do Azure
Usando o portal do Azure, você escolherá entre atualizações automáticas ou manuais ao criar um novo cluster do Service Fabric.
Você também pode alternar entre atualizações automáticas ou manuais na seção Atualizações de malha de um recurso de cluster existente.
Atualizações manuais com o portal do Azure
Quando você seleciona a opção de atualização manual, tudo o que é necessário para iniciar uma atualização é selecionar na lista suspensa de versões disponíveis e, em seguida , Salvar. A partir daí, a atualização do cluster é iniciada imediatamente.
As diretivas de integridade do cluster (uma combinação da integridade do nó e da integridade de todos os aplicativos em execução no cluster) são respeitadas durante a atualização. Se as políticas de integridade do cluster não forem atendidas, a atualização será revertida.
Depois de corrigir os problemas que resultaram na reversão, você precisará iniciar a atualização novamente, seguindo as mesmas etapas de antes.
Modelo do Resource Manager
Para alterar o modo de atualização de cluster usando um modelo do Gerenciador de Recursos, especifique Automático ou Manual para a upgradeMode
propriedade da definição de recurso Microsoft.ServiceFabric/clusters . Se você escolher atualizações manuais, defina também a clusterCodeVersion
para uma versão de malha atualmente suportada.
Após a implantação bem-sucedida do modelo, as alterações no modo de atualização do cluster serão aplicadas. Se o cluster estiver no modo manual, a atualização do cluster será iniciada automaticamente.
As diretivas de integridade do cluster (uma combinação da integridade do nó e da integridade de todos os aplicativos em execução no cluster) são respeitadas durante a atualização. Se as políticas de integridade do cluster não forem atendidas, a atualização será revertida.
Depois de corrigir os problemas que resultaram na reversão, você precisará iniciar a atualização novamente, seguindo as mesmas etapas de antes.
Implantação do Wave para atualizações automáticas
Com o modo de atualização automática, você tem a opção de habilitar seu cluster para implantação de ondas. Com a implantação de onda, você pode criar um pipeline para atualizar seus clusters de teste, estágio e produção em sequência, separados por "tempo de preparação" interno para validar as próximas versões do Service Fabric antes que os clusters de produção sejam atualizados.
Habilitar a implantação de onda
Nota
A implantação do Wave requer a versão da 2020-12-01-preview
API (ou posterior) para seu recurso Microsoft.ServiceFabric/clusters .
Para habilitar a implantação de onda para atualização automática, primeiro determine qual onda atribuir ao cluster:
- Onda 0 (
Wave0
): Os clusters são atualizados assim que uma nova compilação do Service Fabric é lançada. Destinado a clusters de teste/desenvolvimento. - Onda 1 (
Wave1
): Os clusters são atualizados uma semana (sete dias) após o lançamento de uma nova compilação. Destina-se a clusters de pré-produção/preparação. - Onda 2 (
Wave2
): Os clusters são atualizados duas semanas (14 dias) após o lançamento de uma nova compilação. Destinado a clusters de produção.
Em seguida, basta adicionar uma upgradeWave
propriedade ao seu modelo de recurso de cluster com um dos valores de onda listados acima. Verifique se a versão da API do recurso de cluster é 2020-12-01-preview
ou posterior.
{
"apiVersion": "2020-12-01-preview",
"type": "Microsoft.ServiceFabric/clusters",
...
"fabricSettings": [...],
"managementEndpoint": ...,
"nodeTypes": [...],
"provisioningState": ...,
"reliabilityLevel": ...,
"upgradeMode": "Automatic",
"upgradeWave": "Wave1",
...
Depois de implantar o modelo atualizado, seu cluster será inscrito na onda especificada para o próximo período de atualização e depois disso.
Você pode se registrar para receber notificações por e-mail com links para ajudar ainda mais se uma atualização de cluster falhar.
Registar-se para receber notificações
Você pode se registrar para receber notificações quando uma atualização de cluster falhar. Será enviado um e-mail para o(s) seu(s) endereço(s) de e-mail designado(s) com mais detalhes sobre a falha na atualização e links para mais ajuda.
Nota
O registro na implantação de onda não é necessário para receber notificações de falhas de atualização.
Para se inscrever em notificações, adicione uma notifications
seção ao seu modelo de recurso de cluster e designe um ou mais endereços de e-mail (destinatários) para receber notificações:
"apiVersion": "2020-12-01-preview",
"type": "Microsoft.ServiceFabric/clusters",
...
"upgradeMode": "Automatic",
"upgradeWave": "Wave1",
"notifications": [
{
"isEnabled": true,
"notificationCategory": "WaveProgress",
"notificationLevel": "Critical",
"notificationTargets": [
{
"notificationChannel": "EmailUser",
"receivers": [
"devops@contoso.com"
]
}]
}]
Depois de implantar seu modelo atualizado, você será inscrito para notificações de falha de atualização.
Políticas personalizadas para atualizações manuais
Você pode especificar políticas de integridade personalizadas para atualizações manuais de cluster. Essas políticas são aplicadas sempre que você seleciona uma nova versão de tempo de execução, o que aciona o sistema para iniciar a atualização do cluster. Se você não substituir as políticas, os padrões serão usados.
Você pode especificar as políticas de integridade personalizadas ou revisar as configurações atuais na seção Atualizações de malha do seu recurso de cluster no portal do Azure selecionando Opção personalizada para Política de atualização.
Verificar se há versões de cluster suportadas
Você pode consultar versões do Service Fabric para obter mais detalhes sobre versões e sistemas operacionais suportados.
Você também pode usar a API REST do Azure para listar todas as versões de tempo de execução do Service Fabric disponíveis (clusterVersions) disponíveis para o local especificado e sua assinatura.
GET https://<endpoint>/subscriptions/{{subscriptionId}}/providers/Microsoft.ServiceFabric/locations/{{location}}/clusterVersions?api-version=2018-02-01
"value": [
{
"id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/5.0.1427.9490",
"name": "5.0.1427.9490",
"type": "Microsoft.ServiceFabric/environments/clusterVersions",
"properties": {
"codeVersion": "5.0.1427.9490",
"supportExpiryUtc": "2016-11-26T23:59:59.9999999",
"environment": "Windows"
}
},
{
"id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.0.1427.9490",
"name": "5.1.1427.9490",
"type": " Microsoft.ServiceFabric/environments/clusterVersions",
"properties": {
"codeVersion": "5.1.1427.9490",
"supportExpiryUtc": "9999-12-31T23:59:59.9999999",
"environment": "Windows"
}
},
{
"id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.4.1427.9490",
"name": "4.4.1427.9490",
"type": " Microsoft.ServiceFabric/environments/clusterVersions",
"properties": {
"codeVersion": "4.4.1427.9490",
"supportExpiryUtc": "9999-12-31T23:59:59.9999999",
"environment": "Linux"
}
}
]
}
O supportExpiryUtc
nos relatórios de saída quando uma determinada versão está expirando ou expirou. As últimas versões não terão uma data válida, mas sim um valor de 9999-12-31T23:59:59.9999999, o que significa apenas que a data de expiração ainda não está definida.
Verifique o caminho de atualização suportado
Você pode consultar a documentação de versões do Service Fabric para obter caminhos de atualização suportados e informações sobre versões relacionadas.
Usando informações de versão de destino com suporte, você pode usar as seguintes etapas do PowerShell para validar o caminho de atualização suportado.
Iniciar sessão no Azure
Login-AzAccount
Selecionar a subscrição
Set-AzContext -SubscriptionId <your-subscription>
Invoque a API
$params = @{ "TargetVersion" = "<target version>"} Invoke-AzResourceAction -ResourceId <cluster resource id> -Parameters $params -Action listUpgradableVersions -Force
Exemplo:
$params = @{ "TargetVersion" = "8.1.335.9590"} Invoke-AzResourceAction -ResourceId /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster -Parameters $params -Action listUpgradableVersions -Force Output supportedPath ------------- {8.1.329.9590, 8.1.335.9590}