Automatize atualizações de Kubernetes e imagens de nó em vários clusters usando o Azure Kubernetes Fleet Manager (visualização)
Os administradores de plataforma que gerenciam um grande número de clusters geralmente têm problemas com o preparo das atualizações de vários clusters (por exemplo, atualizando a imagem do sistema operacional do nó ou as versões do Kubernetes) de forma segura e previsível. Para enfrentar esse desafio, o Azure Kubernetes Fleet Manager (Fleet) permite orquestrar atualizações em vários clusters usando execuções de atualização.
As execuções de atualização consistem em estágios, grupos e estratégias e podem ser aplicadas manualmente, para atualizações únicas ou automaticamente, para atualizações regulares contínuas usando perfis de atualização automática. Todas as atualizações são executadas (manuais ou automatizadas) pelas janelas de manutenção do cluster de membros de honra.
Este artigo aborda como usar perfis de atualização automática para acionar automaticamente execuções de atualização quando novas versões de imagem de nó ou Kubernetes são disponibilizadas.
Importante
Os recursos de visualização do Azure Kubernetes Fleet Manager estão disponíveis com base no autoatendimento e opt-in. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As visualizações do Azure Kubernetes Fleet Manager são parcialmente cobertas pelo suporte ao cliente com base no melhor esforço. Como tal, estas funcionalidades não se destinam a utilização em produção.
Pré-requisitos
Leia a visão geral conceitual dos perfis de atualização automática, que fornece uma explicação das configurações mencionadas neste guia.
Você deve ter um recurso de frota com um ou mais clusters de membros. Caso contrário, siga o início rápido para criar um recurso do Fleet e ingressar em clusters do Serviço Kubernetes do Azure (AKS) como membros.
Se você deseja usar uma estratégia de atualização, você deve configurá-la usando as instruções no artigo de instruções de execução de atualização. Você precisa do identificador de recurso da estratégia de atualização para usar com um perfil de atualização automática.
Defina as seguintes variáveis de ambiente:
export GROUP=<resource-group> export FLEET=<fleet-name> export AUTOUPGRADEPROFILE=<upgrade-profile-name> # Optional export STRATEGYID=<strategy-id> export CLUSTER=<ask-cluster-name>
Você precisa da CLI do Azure versão 2.61.0 ou posterior instalada. Para instalar ou atualizar, consulte Instalar a CLI do Azure.
Você também precisa da
fleet
extensão da CLI do Azure versão 1.3.0 ou posterior, que pode ser instalada executando o seguinte comando:az extension add --name fleet
Execute o seguinte comando para atualizar para a versão mais recente da extensão lançada:
az extension update --name fleet
Nota
A atualização acionada pela atualização automática executa as janelas de manutenção planejada definidas no nível do cluster AKS. Para obter mais informações, consulte Manutenção planejada em vários clusters de membros, que explica como as execuções de atualização lidam com clusters de membros que foram configurados com janelas de manutenção planejadas.
Criar perfis de atualização automática
Use o az fleet autoupgradeprofile create
comando para criar perfis conforme mostrado.
Você pode criar um perfil de atualização automática desabilitado passando o --disabled
argumento ao usar o create
comando. Para habilitar o perfil de atualização automática, você deve reemitir o comando inteiro create
e omitir o --disabled
argumento.
Atualizações do Kubernetes do canal estável
Atualize para a versão mais recente do patch Kubernetes suportado na versão secundária N-1, onde N é a versão secundária suportada mais recente.
Atualize os clusters de membros sequencialmente, um a um.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--channel Stable
Atualize os clusters de membros usando uma estratégia de atualização existente.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel Stable
Atualize os clusters de membros usando uma estratégia de atualização existente, garantindo que a mesma versão de imagem de nó seja usada em todas as regiões do Azure. Todos os clusters de membros executarão a mesma versão de imagem de nó.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel Stable \
--node-image-selection-type Consistent
Atualize os clusters de membros usando uma estratégia de atualização existente, usando a versão de imagem de nó mais recente disponível para cada região do Azure. Os clusters de membros podem executar várias versões de imagem de nó.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel Stable \
--node-image-selection-type Latest
Atualizações de imagem de nó
Atualize os nós com um VHD recém-corrigido contendo correções de segurança e bugs.
Atualize imagens de nó para clusters membros, processando clusters sequencialmente um a um.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--channel NodeImage
Atualize imagens de nó para clusters membros, processando clusters usando uma estratégia de atualização existente.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel NodeImage
Ver perfil de atualização automática
Você pode usar os autoupgradeprofile list
comandos ou autoupgradeprofile show
para exibir o perfil de atualização automática.
Liste todos os perfis de atualização automática de uma frota.
az fleet autoupgradeprofile list \
--resource-group $GROUP \
--fleet-name $FLEET
Mostrar um perfil de atualização automática específico para uma frota.
az fleet autoupgradeprofile list \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE
Excluir perfil de atualização automática
Use o comando a seguir para excluir um perfil de atualização automática existente. É-lhe pedido que confirme a eliminação. Se você deseja excluir imediatamente o perfil, inclua --yes
.
az fleet autoupgradeprofile delete \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE
Validar a atualização automática
As atualizações automáticas acontecerão somente quando novas imagens do Kubernetes ou do nó forem disponibilizadas. Você pode verificar suas versões existentes como uma linha de base da seguinte maneira.
# Get Kubernetes version for a member cluster
az aks show \
--resource-group $GROUP \
--name $CLUSTER \
--query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
--resource-group $GROUP \
--name $CLUSTER \
--query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"
Quando as execuções de atualização forem concluídas, você poderá executar novamente esses comandos e exibir as versões atualizadas que são implantadas.
Azure Kubernetes Service