Use a manutenção planeada para agendar atualizações para os membros da Azure Kubernetes Application Network (pré-visualização)

Importante

Os recursos de pré-visualização do AKS estão disponíveis numa base de autosserviço e adesão voluntária. 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 versões de teste do AKS são parcialmente cobertas pelo suporte ao cliente numa base de melhor esforço. Assim sendo, estas funcionalidades não se destinam ao uso em produção. Para obter mais informações, consulte os seguintes artigos de suporte:

Este artigo mostra-lhe como usar a manutenção planeada para agendar atualizações de componentes para membros da Azure Kubernetes Application Network.

Visão geral da manutenção planeada para a Rede de Aplicações

Operações de manutenção referem-se à atualização dos componentes do plano de dados dentro do cluster e dos componentes do plano de controlo da Rede de Aplicações que funcionam fora do cluster, como o Istiod.

Dois dos principais componentes dentro do cluster são os proxies de nó ztunnel e os agentes de nó CNI do Istio. Estes recursos são DaemonSets per-node, pelo que as suas atualizações afetam um nó inteiro de cada vez e podem causar interrupções em ligações TCP de longa duração. Para isolar as perturbações ao nível dos nós numa janela comum, a Application Network utiliza o mesmo aksManagedNodeOSUpgradeSchedule calendário de manutenção que as atualizações automáticas do sistema operativo (SO) dos nós do Azure Kubernetes Service (AKS), caso esteja configurado.

Note-se que, embora a janela de manutenção seja a mesma, as atualizações para membros da Rede de Aplicações e as atualizações do sistema operativo de nós são eventos independentes dentro da janela que ocorrem para um ou ambos os componentes, dependendo da disponibilidade das atualizações. Nenhuma das melhorias afeta o tempo ou o processo da outra. Se ambos os componentes atualizarem dentro da mesma janela, pode haver interrupções de ligação separadas para cada atualização dentro dessa janela.

Observação

Não é obrigatório optar por fazer atualizações automáticas do sistema operativo para usar a manutenção planeada para a Rede de Aplicações. Criar um aksManagedNodeOSUpgradeSchedule não ativa nem desativa as atualizações automáticas do sistema operativo dos nós.

Pré-requisitos

  • Um cluster AKS existente integrado como membro de um recurso de Rede de Aplicações. Se não tem um recurso de Rede de Aplicações ou ainda não integrou o seu cluster, consulte Comece com Azure Kubernetes Application Network.
  • A versão do Azure CLI é 2.84.0 ou posterior. Verifique sua versão usando o az --version comando. Para instalar ou atualizar, consulte Instalar Azure CLI.
  • Recomendamos rever a documentação da janela de Manutenção para compreender os campos de configuração e como funcionam as janelas de manutenção no AKS.

Considerações

Tenha em mente as seguintes considerações ao utilizar a manutenção planeada para agendar atualizações da Rede de Aplicações:

  • A Rede de Aplicações reserva-se o direito de quebrar janelas de manutenção planeada para operações de manutenção reativa não planeadas que sejam urgentes ou críticas. Essas operações de manutenção podem até ser executadas durante o notAllowedTime ou o notAllowedDates períodos definidos na sua configuração.
  • As operações de manutenção são consideradas apenas o melhor esforço e não é garantido que ocorram dentro de uma janela especificada.
  • Se uma atualização tentada não for concluída quando a janela fecha, continua a tentar a reconciliação até terminar.

Comportamento específico de um modo

Pode usar a manutenção planeada para agendar o momento das atualizações totalmente geridas e das autogeridas, mas ativar ou desativar a manutenção planeada não afeta o modo de atualização em si. As janelas de manutenção bloqueiam diferentes tipos de atualizações dependendo do modo de atualização do seu cluster.

  • Modo totalmente gerido: Janelas de manutenção bloqueiam tanto atualizações menores como atualizações de correção. No entanto, se iniciar uma alteração de canal de lançamento, a alteração de versão associada entra em vigor imediatamente.
  • Modo autogerido: As janelas de manutenção aplicam-se apenas a atualizações de patch. Se iniciares uma pequena alteração de versão, ela entra em vigor imediatamente.

Adicionar uma janela de manutenção

  • Adicione uma aksManagedNodeOSUpgradeSchedule configuração de janela de manutenção a um cluster AKS usando o az aks maintenanceconfiguration add comando. O exemplo seguinte adiciona uma nova aksManagedNodeOSUpgradeSchedule configuração que agenda a manutenção para decorrer todas as terceiras sextas-feiras entre as 00:00 e as 00:00 no UTC+5:30 fuso horário:

    az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 3 --duration 8 --utc-offset +05:30 --start-time 00:00
    

Atualizar uma janela de manutenção existente

  • Atualize uma configuração de manutenção existente usando o az aks maintenanceconfiguration update comando. O exemplo seguinte atualiza a aksManagedNodeOSUpgradeSchedule configuração para agendar a manutenção para decorrer todas as sextas-feiras das 2:00 às 6:00 da manhã:

    az aks maintenanceconfiguration update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 02:00
    

Mostrar a configuração de manutenção de um cluster

  • Veja a janela de configuração de manutenção no seu cluster AKS usando o comando az aks maintenanceconfiguration show com o parâmetro --name.

    az aks maintenanceconfiguration show --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule
    

    O exemplo de saída a seguir mostra a janela de manutenção para aksManagedNodeOSUpgradeSchedule:

    {
      "id": "/subscriptions/<subscription>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule",
      "maintenanceWindow": {
        "durationHours": 4,
        "notAllowedDates": [
          {
            "end": "2024-01-05",
            "start": "2023-12-23"
          }
        ],
        "schedule": {
          "absoluteMonthly": {
            "dayOfMonth": 1,
            "intervalMonths": 3
          },
          "daily": null,
          "relativeMonthly": null,
          "weekly": null
        },
        "startDate": "2023-01-20",
        "startTime": "09:00",
        "utcOffset": "-08:00"
      },
      "name": "aksManagedNodeOSUpgradeSchedule",
      "notAllowedTime": null,
      "resourceGroup": "myResourceGroup",
      "systemData": null,
      "timeInWeek": null,
      "type": null
    }
    

Eliminar uma configuração de manutenção para um cluster

  • Elimina uma janela de configuração de manutenção no teu cluster AKS usando o az aks maintenanceconfiguration delete comando.

    az aks maintenanceconfiguration delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule
    

Para saber mais sobre a Azure Kubernetes Application Network, consulte os seguintes artigos: