Share via


Atualizando o tempo de execução do cluster da CLI do Azure

Este guia de instruções explica as etapas para instalar a CLI do Azure necessária e as extensões necessárias para interagir com o Operator Nexus.

Pré-requisitos

  1. A CLI do Azure Install deve ser instalada.
  2. A networkcloud extensão CLI é necessária. Se a networkcloud extensão não estiver instalada, ela pode ser instalada seguindo as etapas listadas aqui.
  3. Acesso ao portal do Azure para o cluster de destino a ser atualizado.
  4. Tem de ter sessão iniciada na mesma subscrição que o cluster de destino através de az login
  5. O cluster de destino deve estar em um estado de execução, com todos os nós do plano de controle íntegros e 80+% dos nós de computação em um estado de execução e íntegro.

Localizando versões de tempo de execução disponíveis

Via Portal

Para encontrar versões de tempo de execução atualizáveis disponíveis, navegue até o cluster de destino no portal do Azure. No painel de visão geral do cluster, navegue até a guia Versões de atualização disponíveis.

Screenshot of Azure portal showing correct tab to identify available cluster upgrades.

Na guia Versões de atualização disponíveis, podemos ver as diferentes versões de cluster que estão atualmente disponíveis para atualização. O operador pode selecionar entre as versões de tempo de execução de destino listadas. Uma vez selecionado, prossiga para atualizar o cluster.

Screenshot of Azure portal showing available cluster upgrades.

Através da CLI do Azure

As atualizações disponíveis podem ser recuperadas por meio da CLI do Azure:

az networkcloud cluster show --name "clusterName" --resource-group "resourceGroup"

Na saída, você pode encontrar a availableUpgradeVersions propriedade e olhar para o targetClusterVersion campo:

  "availableUpgradeVersions": [
    {
      "controlImpact": "True",
      "expectedDuration": "Upgrades may take up to 4 hours + 2 hours per rack",
      "impactDescription": "Workloads will be disrupted during rack-by-rack upgrade",
      "supportExpiryDate": "2023-07-31",
      "targetClusterVersion": "3.3.0",
      "workloadImpact": "True"
    }
  ],

Se não houver atualizações de cluster disponíveis, a lista ficará vazia.

Atualizando o tempo de execução do cluster usando a CLI

Para executar uma atualização do tempo de execução, use o seguinte comando da CLI do Azure:

az networkcloud cluster update-version --cluster-name "clusterName" --target-cluster-version
  "versionNumber" --resource-group "resourceGroupName"

A atualização do tempo de execução é um processo longo. A atualização primeiro atualiza os nós de gerenciamento e, em seguida, sequencialmente rack por rack para os nós de trabalho. A atualização é considerada concluída quando 80% dos nós de trabalho por rack e 100% dos nós de gerenciamento foram atualizados com êxito. As cargas de trabalho podem ser afetadas enquanto os nós de trabalho em um rack estão em processo de atualização, no entanto, as cargas de trabalho em todos os outros racks não serão afetadas. É encorajada a consideração da colocação da carga de trabalho à luz desta conceção de implementação.

A atualização de todos os nós leva várias horas, mas pode levar mais se outros processos, como atualizações de firmware, também fizerem parte da atualização. Devido à duração do processo de atualização, é aconselhável verificar periodicamente o status de detalhes do cluster para o estado atual da atualização. Para verificar o status da atualização, observe o status detalhado do cluster. Esta verificação pode ser feita através do portal ou az CLI.

Para exibir o status da atualização por meio do portal do Azure, navegue até o recurso de cluster de destino. Na tela Visão geral do cluster, o status detalhado é fornecido junto com uma mensagem de status detalhada.

A atualização de cluster está em andamento quando detailedStatus é definido como Updating e detailedStatusMessage mostra o progresso da atualização. Alguns exemplos de progresso de atualização mostrados em detailedStatusMessage são Waiting for control plane upgrade to complete..., Waiting for nodepool "<rack-id>" to finish upgrading..., etc.

A atualização do cluster é concluída quando detailedStatus é definido como Running e detailedStatusMessage mostra a mensagem Cluster is up and running

Screenshot of Azure portal showing in progress cluster upgrade.

Para exibir o status da atualização por meio da CLI do Azure, use az networkcloud cluster show.

az networkcloud cluster show --cluster-name "clusterName" --resource-group "resourceGroupName"

A saída deve ser a informação do cluster de destino e o estado detalhado e a mensagem de estado detalhado do cluster devem estar presentes. Para obter informações mais detalhadas sobre o progresso da atualização, o BMM individual em cada rack pode ser verificado quanto ao status. Exemplo disso é fornecido na seção de referência em Funções da máquina baremetal.

Configurar parâmetros de limite de computação para atualização de tempo de execução usando o cluster updateStrategy

O seguinte comando da CLI do Azure é usado para configurar os parâmetros de limite de computação para uma atualização de tempo de execução:

az networkcloud cluster update --name "<clusterName>" --resource-group "<resourceGroup>" --update-strategy strategy-type="Rack" threshold-type="PercentSuccess" threshold-value="<thresholdValue>" max-unavailable=<maxNodesOffline> wait-time-minutes=<waitTimeBetweenRacks>

Argumentos necessários:

  • strategy-type: Define a estratégia de atualização. Neste caso, "Rack" significa que as atualizações ocorrem rack a rack. O valor padrão é "Rack"
  • tipo de limiar: Determina como o limiar deve ser avaliado, aplicado nas unidades definidas pela estratégia. O valor padrão é "PercentSuccess".
  • valor-limite: o valor do limite numérico usado para avaliar uma atualização. O valor padrão é 80.

Argumentos opcionais:

  • max-unavailable: o número máximo de nós de trabalho que podem estar offline, ou seja, rack atualizado de cada vez. O valor padrão é 32767.
  • wait-time-minutes: O atraso ou período de espera antes de atualizar um rack. O valor padrão é 15.

Um exemplo de uso do comando é como abaixo:

az networkcloud cluster update --name "cluster01" --resource-group "cluster01-rg" --update-strategy strategy-type="Rack" threshold-type="PercentSuccess" threshold-value=70 max-unavailable=16 wait-time-minutes=15

Após a execução bem-sucedida do comando, os valores updateStrategy especificados serão aplicados ao cluster:

  "updateStrategy": {
      "maxUnavailable": 16,
      "strategyType": "Rack",
      "thresholdType": "PercentSuccess",
      "thresholdValue": 70,
      "waitTimeMinutes": 15,
    },

Perguntas Mais Frequentes

Identificando a atualização de cluster paralisada/presa

Durante uma atualização em tempo de execução, é possível que a atualização não avance, mas o status de detalhes reflete que a atualização ainda está em andamento. Como a atualização de tempo de execução pode levar muito tempo para ser concluída com êxito, não há um tempo limite definido especificado atualmente. Portanto, é aconselhável também verificar periodicamente o status e os logs detalhados do cluster para determinar se a atualização está tentando atualizar indefinidamente.

Podemos identificar quando esse é o caso examinando os logs do cluster, a mensagem detalhada e a mensagem de status detalhada. Se tiver ocorrido um tempo limite, observaremos que o Cluster está continuamente se reconciliando sobre o mesmo indefinidamente e não avançando. A partir daqui, recomendamos verificar os logs de cluster ou o LAW configurado para ver se há uma falha ou uma atualização específica que esteja causando a falta de progresso.

Falha de hardware não requer reexecução de atualização

Se tiver ocorrido uma falha de hardware durante uma atualização, a atualização em tempo de execução continuará desde que os limites definidos sejam atingidos para os nós de computação e gerenciamento/controle. Depois que a máquina é fixada ou substituída, ela é provisionada com o sistema operacional do tempo de execução da plataforma atual, que contém a versão de destino do tempo de execução.

Se ocorrer uma falha de hardware e a atualização de tempo de execução tiver falhado porque os limites não foram atingidos para nós de computação e controle, a reexecução da atualização de tempo de execução pode ser necessária, dependendo de quando a falha ocorreu e do estado dos servidores individuais em um rack. Se um rack foi atualizado antes de uma falha, a versão de tempo de execução atualizada será usada quando os nós forem reprovisionados. Se a especificação do rack não foi atualizada para a versão de tempo de execução atualizada antes da falha de hardware, a máquina será provisionada com a versão de tempo de execução anterior. Para atualizar para a nova versão de tempo de execução, envie uma nova solicitação de atualização de cluster e somente os nós com a versão de tempo de execução anterior serão atualizados. Os anfitriões que foram bem-sucedidos na ação de atualização anterior não o farão.

Após uma atualização de tempo de execução, o cluster mostra o Estado de Provisionamento "Falha"

Durante uma atualização de tempo de execução, o cluster entrará em um estado de No caso de uma falha da atualização de tempo de execução, por motivos relacionados aos recursos, o cluster entrará em um Failed estado de Upgrading provisionamento. Esse estado pode estar vinculado ao ciclo de vida dos componentes relacionados ao cluster (por exemplo, StorageAppliance) e pode ser necessário para diagnosticar a falha com o suporte da Microsoft.