Utiliser la maintenance planifiée pour planifier des mises à niveau pour les membres du réseau d’applications Azure Kubernetes (préversion)

Important

Les fonctionnalités d’évaluation AKS sont disponibles en libre-service et font l’objet d’un abonnement. Les versions d'essai sont fournies « en l’état » et « selon disponibilité », et elles sont exclues des contrats de niveau de service et de la garantie limitée. Les versions préliminaires AKS sont, dans la mesure du possible, partiellement couvertes par le service clientèle. Par conséquent, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :

Cet article explique comment utiliser la maintenance planifiée pour planifier les mises à niveau des composants pour les membres du réseau d’applications Azure Kubernetes.

Vue d’ensemble de la maintenance planifiée pour le réseau d’applications

Les opérations de maintenance font référence à la mise à niveau des composants du plan de données en cluster et des composants du plan de contrôle Réseau d’applications qui s’exécutent en dehors du cluster, comme Istiod.

Deux des composants principaux du cluster sont les proxys de nœud ztunnel et les agents de nœud CNI Istio. Ces ressources sont des DaemonSets par nœud, de sorte que leurs mises à niveau affectent un nœud entier à la fois et peuvent entraîner des interruptions de connexions TCP de longue durée. Pour isoler les interruptions au niveau du nœud dans une fenêtre commune, Application Network utilise la même aksManagedNodeOSUpgradeSchedule planification de maintenance que les mises à niveau automatiques du système d’exploitation (OS) Azure Kubernetes Service (AKS), si configurées.

Notez que bien que la fenêtre de maintenance soit identique, les mises à niveau des membres du réseau d’applications et les mises à niveau du système d’exploitation de nœud sont des événements indépendants dans la fenêtre qui se produisent pour un ou les deux composants, en fonction de la disponibilité des mises à niveau. Aucune mise à niveau n’a d’impact sur le calendrier ou le processus de l’autre. Si les deux composants sont mis à niveau dans la même fenêtre, il peut y avoir des interruptions de connexion distinctes pour chaque mise à niveau dans cette fenêtre.

Note

Il n'est pas nécessaire de s'inscrire aux mises à niveau automatiques du système d'exploitation du nœud afin d'utiliser la maintenance planifiée pour le réseau d'applications. La création d’un aksManagedNodeOSUpgradeSchedule n’active ni ne désactive les mises à niveau automatiques du système d’exploitation du nœud.

Prerequisites

  • Un cluster AKS existant intégré en tant que membre d’une ressource réseau d’applications. Si vous n’avez pas de ressource Réseau d’applications ou si vous n’avez pas encore intégré votre cluster, consultez Prise en main d’Azure Kubernetes Application Network.
  • Azure CLI version 2.84.0 ou ultérieure. Vérifiez votre version en utilisant la commande az --version. Pour installer ou mettre à jour, consultez Installer Azure CLI.
  • Nous vous recommandons de consulter la documentation de la fenêtre maintenance pour comprendre les champs de configuration et le fonctionnement des fenêtres de maintenance dans AKS.

Considérations

Gardez à l’esprit les considérations suivantes lors de l’utilisation de la maintenance planifiée pour planifier les mises à niveau du réseau d’applications :

  • Application Network se réserve le droit d’interrompre les fenêtres de maintenance planifiée pour les opérations de maintenance non planifiées et réactives qui sont urgentes ou critiques. Ces opérations de maintenance peuvent même s’exécuter pendant les périodes notAllowedTime ou notAllowedDates définies dans votre configuration.
  • Les opérations de maintenance obéissent au principe faire pour le mieux uniquement et il n’est pas garanti qu’elles se produisent dans une période spécifiée.
  • Si une tentative de mise à niveau n’est pas terminée lorsque la fenêtre se ferme, elle continue de tenter la synchronisation jusqu’à ce qu'elle soit terminée.

Comportement spécifique au mode

Vous pouvez utiliser la maintenance planifiée pour planifier le minutage des mises à niveau entièrement gérées et des mises à niveau auto-gérées, mais l’activation ou la désactivation de la maintenance planifiée n’a pas d’impact sur votre mode de mise à niveau lui-même. Les fenêtres de maintenance contrôlent différents types de mises à niveau en fonction du mode de mise à niveau de votre cluster.

  • Mode complètement géré : les fenêtres de maintenance contrôlent les mises à niveau mineures et correctives. Toutefois, si vous lancez une modification de canal de mise en production, la modification de version associée prend effet immédiatement.
  • Mode auto-géré : les fenêtres de maintenance s’appliquent uniquement aux mises à niveau correctives. Si vous lancez une modification de version mineure, elle prend effet immédiatement.

Ajouter une fenêtre de maintenance

  • Ajoutez une aksManagedNodeOSUpgradeSchedule configuration de fenêtre de maintenance à un cluster AKS à l’aide de la commande az aks maintenanceconfiguration add. L’exemple suivant ajoute une nouvelle aksManagedNodeOSUpgradeSchedule configuration qui planifie l’exécution de la maintenance tous les troisièmes vendredis entre 12h00 et 8h00 dans le UTC+5:30 fuseau horaire :

    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
    

Mettre à jour une fenêtre de maintenance existante

  • Mettez à jour une configuration de maintenance existante à l’aide de la az aks maintenanceconfiguration update commande. L’exemple suivant met à jour la configuration pour planifier l’exécution aksManagedNodeOSUpgradeSchedule de la maintenance tous les vendredis de 2h00 à 18h00 :

    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
    

Afficher la configuration de maintenance d’un cluster

  • Affichez une fenêtre de configuration de maintenance spécifique dans votre cluster AKS à l’aide de la az aks maintenanceconfiguration show commande avec le --name paramètre.

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

    L’exemple de sortie suivant affiche la fenêtre de maintenance pour 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
    }
    

Supprimer une configuration de maintenance pour un cluster

  • Supprimez une fenêtre de configuration de maintenance dans votre cluster AKS à l’aide de la az aks maintenanceconfiguration delete commande.

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

Pour en savoir plus sur Azure Kubernetes Application Network, consultez les articles suivants :