Partilhar via


Atualizar um cluster do Azure Kubernetes Service (AKS)

Aplica-se a: Azure Local, versão 23H2

Como parte do gerenciamento do ciclo de vida do aplicativo e do cluster, convém atualizar para a versão mais recente disponível do Kubernetes. Uma atualização envolve uma mudança para uma versão mais recente do Kubernetes, a aplicação de atualizações de versão do sistema operacional (SO) (patching) ou ambas. O AKS Arc suporta a atualização (ou aplicação de patches) de nós em um cluster de carga de trabalho com as atualizações mais recentes do sistema operacional e do tempo de execução.

Todas as atualizações são executadas de forma contínua e contínua para garantir a disponibilidade ininterrupta das cargas de trabalho. Quando um novo nó de trabalho do Kubernetes com uma compilação mais recente é trazido para o cluster, os recursos são movidos do nó antigo para o novo nó. Quando isso for concluído com êxito, o nó antigo será descomissionado e removido do cluster.

Antes de começar

Se você estiver usando a CLI do Azure, este artigo exigirá a CLI do Azure versão 2.34.1 ou posterior. Executar az --version para localizar a versão. Se você precisar instalar ou atualizar a CLI, consulte Instalar a CLI do Azure.

Verifique se há atualizações disponíveis

Verifique quais versões do Kubernetes estão disponíveis para seu cluster usando o seguinte comando:

az aksarc get-upgrades --resource-group myResourceGroup --name myAKSCluster

O exemplo de saída a seguir mostra a versão atual como 1.24.11 e lista as versões disponíveis em upgrades:

{  
  "agentPoolProfiles": [  
    {  
      "kubernetesVersion": "1.24.11",  
      "upgrades": [  
        {  
          "kubernetesVersion": "1.25.7"  
        }  
      ]  
    }  
  ],  
  "controlPlaneProfile": {  
    "kubernetesVersion": "1.24.11",  
    "name": "aksarc-testupgrade",  
    "osType": "Linux",  
    "upgrades": [  
      {  
        "kubernetesVersion": "1.25.7"  
      }  
    ]  
  },  
  ...  
  "provisioningState": "Succeeded",  
  ...  
}

Atualizar a versão do Kubernetes

Ao atualizar um cluster AKS suportado, você não pode ignorar as versões secundárias do Kubernetes. Você deve executar todas as atualizações sequencialmente pelo número da versão principal. Por exemplo, atualizações de 1.24.x para 1.25.x ou 1.25.x para 1.26.x são permitidas. 1.24.x a 1.26.x não são permitidos.

Nota

Se não for especificado nenhum patch, o cluster será atualizado automaticamente para o patch de disponibilidade geral mais recente da versão secundária especificada. Por exemplo, a configuração --kubernetes-version como 1.25 resulta na atualização do cluster para 1.25.7.

Você pode atualizar seu cluster usando o seguinte comando:

az aksarc upgrade \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --kubernetes-version <KUBERNETES_VERSION>

Confirme se a atualização foi bem-sucedida usando o show comando:

az aksarc show --resource-group myResourceGroup --name myAKSCluster

A saída de exemplo a seguir mostra que o cluster agora executa 1.25.7:

{  
"extendedLocation": {  
  "name":
"/subscriptions/<subscription>/resourcegroups/<resource group>/providers/microsoft.extendedlocation/customlocations/<custom
location>",  
  "type": "CustomLocation"  
},  
"id": "/subscriptions/<subscription>/resourceGroups/<resource group>/providers/Microsoft.Kubernetes/connectedClusters/aksarc-testupgrade/providers/Microsoft.HybridContainerService/provisionedClusterInstances/default",  
"name": "default",  
"properties": {  
  "agentPoolProfiles": [  
    {  
    }  
  ],  
  "controlPlane": {  
    "availabilityZones": null,  
    "controlPlaneEndpoint": {  
      "hostIp": null,  
      "port": null  
    },  
    "count": 1,  
    "linuxProfile": {  
      "ssh": {  
        "publicKeys": null  
      }  
    },  
    "name": null,  
    "nodeImageVersion": null,  
    "osSku": "CBLMariner",  
    "osType": "Linux",  
    "vmSize": "Standard_A4_v2"  
  },  
  "kubernetesVersion": "1.25.7",  
...  
  "provisioningState": "Succeeded",  
  ...  
},  
....  
"type": "microsoft.hybridcontainerservice/provisionedclusterinstances"  
}

Importante

Quando você executa uma atualização de uma versão sem suporte que ignora duas ou mais versões secundárias, a atualização não pode garantir a funcionalidade adequada. Se a sua versão estiver significativamente desatualizada, recomendamos que você recrie o cluster.

Durante uma operação de atualização, os provisioningState indicadores e currentState exibem uma mensagem de atualização para refletir o processo em andamento. No entanto, se a operação expirar, provisioningState mostrará Falha, enquanto currentState continua a mostrar Atualizando à medida que a atualização continua em segundo plano. Nenhuma ação é necessária; A atualização continua até ser concluída.

Atualizar a versão do sistema operacional (SO)

A atualização de nós de trabalho para uma versão mais recente da imagem do nó sem alterar a versão do Kubernetes só funciona se a nova imagem não exigir uma versão diferente do Kubernetes. Atualmente, o AKS Arc não suporta atualizações somente de imagem de nó em todas as versões do Kubernetes em suporte. Se precisar atualizar a imagem do nó, atualize o cluster para a versão mais recente do Kubernetes para garantir que todas as atualizações de imagem do nó sejam incorporadas.

Importante

Ao tentar usar o node-image-only sinalizador, você recebe uma mensagem indicando que esse recurso ainda não é suportado.

Próximos passos