Gerir atualizações do cluster do Service Fabric

Um cluster do Azure Service Fabric é um recurso que possui, mas é parcialmente gerido pela Microsoft. Eis como gerir quando e como a Microsoft atualiza o cluster do Azure Service Fabric.

Para obter mais informações sobre os conceitos e processos de atualização de clusters, veja Atualizar e atualizar clusters do Azure Service Fabric.

Definir o modo de atualização

Pode definir o cluster para receber atualizações automáticas do Service Fabric à medida que são lançadas pela Microsoft ou pode escolher manualmente a partir de uma lista de versões atualmente suportadas ao definir o modo de atualização para o cluster. Isto pode ser feito através do controlo do modo de atualização do Fabric no portal do Azure ou da upgradeMode definição no modelo de implementação do cluster.

Portal do Azure

Ao utilizar portal do Azure, irá escolher entre atualizações automáticas ou manuais ao criar um novo cluster do Service Fabric.

Escolha entre atualizações automáticas ou manuais ao criar um novo cluster no portal do Azure a partir das opções

Também pode alternar entre atualizações automáticas ou manuais da secção Atualizações de recursos de infraestrutura de um recurso de cluster existente.

Selecione Atualizações automáticas ou manuais na secção

Atualizações manuais com portal do Azure

Quando seleciona a opção de atualização manual, tudo o que é necessário para iniciar uma atualização é selecionar a partir da lista pendente de versões disponíveis e, em seguida, Guardar. A partir daí, a atualização do cluster é iniciada imediatamente.

As políticas de estado de funcionamento do cluster (uma combinação do estado de funcionamento do nó e do estado de funcionamento de todas as aplicações em execução no cluster) são cumpridas durante a atualização. Se as políticas de estado de funcionamento do cluster não forem cumpridas, a atualização será revertida.

Depois de corrigir os problemas que resultaram na reversão, terá de iniciar a atualização novamente, seguindo os mesmos passos que anteriormente.

Modelo do Resource Manager

Para alterar o modo de atualização do cluster com um modelo de Resource Manager, especifique Automático ou Manual para a upgradeMode propriedade da definição de recurso Microsoft.ServiceFabric/clusters. Se escolher atualizações manuais, defina também para clusterCodeVersion uma versão de recursos de infraestrutura atualmente suportada.

Captura de ecrã a mostrar um modelo, que tem um avanço de texto simples para refletir a estrutura. As propriedades

Após a implementação bem-sucedida do modelo, serão aplicadas alterações ao modo de atualização do cluster. Se o cluster estiver no modo manual, a atualização do cluster será iniciada automaticamente.

As políticas de estado de funcionamento do cluster (uma combinação do estado de funcionamento do nó e do estado de funcionamento de todas as aplicações em execução no cluster) são cumpridas durante a atualização. Se as políticas de estado de funcionamento do cluster não forem cumpridas, a atualização será revertida.

Depois de corrigir os problemas que resultaram na reversão, terá de iniciar a atualização novamente, seguindo os mesmos passos que anteriormente.

Implementação de ondas para atualizações automáticas

Com o modo de atualização automática, tem a opção de ativar o cluster para implementação de ondas. Com a implementação de ondas, pode criar um pipeline para atualizar os clusters de teste, fase e produção em sequência, separados por "tempo de cozedura" incorporado para validar as futuras versões do Service Fabric antes de os clusters de produção serem atualizados.

Ativar a implementação de ondas

Nota

A implementação de ondas requer a 2020-12-01-preview versão da API (ou posterior) para o recurso Microsoft.ServiceFabric/clusters .

Para ativar a implementação de ondas para a atualização automática, determine primeiro qual a onda a atribuir ao cluster:

  • Wave 0 (Wave0): os clusters são atualizados assim que é lançada uma nova compilação do Service Fabric. Destina-se a clusters de teste/dev.
  • 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é-prod/teste.
  • Wave 2 (Wave2): os clusters são atualizados duas semanas (14 dias) após o lançamento de uma nova compilação. Destina-se a clusters de produção.

Em seguida, basta adicionar uma upgradeWave propriedade ao modelo de recurso do cluster com um dos valores de onda listados acima. Certifique-se de que a versão da API de recursos do 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 implementar o modelo atualizado, o cluster será inscrito na onda especificada para o próximo período de atualização e depois disso.

Pode registar-se para notificações por e-mail com ligações para obter ajuda adicional se uma atualização do cluster falhar.

Registar-se para receber notificações

Pode registar-se para receber notificações quando uma atualização do cluster falhar. Será enviado um e-mail para o seu endereço de e-mail designado(es) com mais detalhes sobre a falha de atualização e ligações para obter mais ajuda.

Nota

A inscrição na implementação de ondas não é necessária para receber notificações para falhas de atualização.

Para se inscrever em notificações, adicione uma notifications secção ao modelo de recurso do cluster e designe um ou mais endereços de e-mail (recetores) 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"
                ]
            }]
        }]

Assim que implementar o modelo atualizado, será inscrito para notificações de falha de atualização.

Políticas personalizadas para atualizações manuais

Pode especificar políticas de estado de funcionamento personalizadas para atualizações manuais do cluster. Estas políticas são aplicadas sempre que seleciona uma nova versão de runtime, o que aciona o sistema para iniciar a atualização do cluster. Se não substituir as políticas, são utilizadas as predefinições.

Pode especificar as políticas de estado de funcionamento personalizadas ou rever as definições atuais na secção Atualizações de recursos de infraestrutura do recurso de cluster no portal do Azure ao selecionar opção Personalizada para Política de atualização.

Selecione a opção de política de atualização

Verificar se existem versões de cluster suportadas

Pode referenciar versões do Service Fabric para obter mais detalhes sobre versões suportadas e sistemas operativos.

Também pode utilizar a API REST do Azure para listar todas as versões de runtime do Service Fabric disponíveis (clusterVersions) disponíveis para a localização especificada e a sua subscrição.

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 no resultado comunica quando uma determinada versão está a expirar ou expirou. As versões mais recentes 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.

Procurar o caminho de atualização suportado

Pode referenciar a documentação das versões do Service Fabric para obter caminhos de atualização suportados e informações sobre versões relacionadas.

Com uma informação de versão de destino suportada, pode utilizar os seguintes passos do PowerShell para validar o caminho de atualização suportado.

  1. Iniciar sessão no Azure

    Login-AzAccount
    
  2. Selecionar a subscrição

    Set-AzContext -SubscriptionId <your-subscription>
    
  3. Invocar 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}
    

Passos seguintes