Share via


Atualizar um cluster do Azure Kubernetes Service (AKS)

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

Como parte da gestão do ciclo de vida da aplicação e do cluster, poderá querer 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ões do sistema operativo (SO) (patches) ou ambas. O AKS Arc suporta a atualização (ou aplicação de patches) de nós num cluster de cargas de trabalho com as atualizações mais recentes do SO e do runtime.

Todas as atualizações são executadas de forma contínua e sem interrupções 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ó. Depois de concluído com êxito, o nó antigo é desativado e removido do cluster.

Antes de começar

Se estiver a utilizar a CLI do Azure, este artigo requer a versão 2.34.1 ou posterior da CLI do Azure. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar a CLI, veja Instalar a CLI do Azure.

Procurar atualizações disponíveis

Verifique que versões do Kubernetes estão disponíveis para o cluster com o seguinte comando:

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

O seguinte resultado de exemplo 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

Quando atualiza um cluster do AKS suportado, não pode ignorar versões secundárias do Kubernetes. Tem de efetuar todas as atualizações sequencialmente pelo número da versão principal. Por exemplo, são permitidas atualizações de 1,24.x para 1,25.x ou 1,25.x para 1,26.x . 1,24.x a 1,26.x não é permitido.

Nota

Se não for especificado nenhum patch, o cluster atualiza automaticamente para o patch de DISPONIBILIDADE mais recente da versão secundária especificada. Por exemplo, definir --kubernetes-version para 1,25 resulta na atualização do cluster para 1,25.7.

Pode atualizar o cluster com o seguinte comando:

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

Confirme que a atualização foi efetuada com êxito com o show comando:

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

O seguinte exemplo de saída mostra que o cluster tem agora 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 efetua uma atualização a partir de uma versão não suportada 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 recrie o cluster.

Durante uma operação de atualização, os provisioningState indicadores e currentState apresentam uma mensagem de Atualização para refletir o processo em curso. No entanto, se a operação exceder o limite de tempo, provisioningState mostra Falha, enquanto currentState continua a mostrar Atualização à medida que a atualização continua em segundo plano. Não é necessária nenhuma ação; a atualização continua até estar concluída.

Atualizar a versão do Sistema Operativo (SO)

A atualização dos 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 necessitar de uma versão diferente do Kubernetes. Atualmente, o AKS Arc não suporta atualizações apenas de imagem de nó em todas as versões do Kubernetes suportadas. Se precisar de atualizar a imagem do nó, tem de atualizar o cluster para a versão mais recente do Kubernetes para garantir que todas as atualizações da imagem do nó são incorporadas.

Importante

Ao tentar utilizar o node-image-only sinalizador, recebe uma mensagem a indicar que esta funcionalidade ainda não é suportada.

Passos seguintes