Partager via


Utiliser la maintenance planifiée pour planifier et contrôler les mises à niveau de votre cluster Azure Kubernetes Service

Cet article explique comment utiliser la maintenance planifiée pour planifier et contrôler les mises à niveau des images de cluster et de nœud dans Azure Kubernetes Service (AKS).

Une maintenance régulière est effectuée automatiquement sur votre cluster AKS. Il existe deux types d’opérations de maintenance :

Lorsque vous utilisez la fonctionnalité de maintenance planifiée dans AKS, vous pouvez exécuter les deux types de maintenance à la cadence de votre choix pour réduire l’impact de la charge de travail.

Remarque

Vous pouvez utiliser la maintenance planifiée pour planifier le minutage des mises à niveau automatiques, mais l’activation ou la désactivation de la maintenance planifiée n’active pas ou ne désactive pas les mises à niveau automatiques.

Avant de commencer

  • Cet article suppose que vous avez un cluster AKS existant. Si vous ne disposez pas de cluster AKS, consultez Créer un cluster AKS.
  • Si vous utilisez le Azure CLI, effectuez une mise à niveau vers la dernière version à l'aide de la commande az upgrade.
  • Un abonnement actif Azure. Si vous n'avez pas d'abonnement Azure, créez un compte free avant de commencer.

  • Définissez votre contexte d’abonnement à l’aide de la az account set commande. Par exemple:

    az account set --subscription "00000000-0000-0000-0000-000000000000"
    
  • Terraform installé localement. Pour obtenir des instructions d’installation, consultez Installer Terraform.

Considérations

Lorsque vous utilisez la maintenance planifiée, les considérations suivantes s’appliquent :

  • AKS se réserve le droit d’arrêter ces fenêtres d’opérations de maintenance planifiées pour les opérations non planifiées ou 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.

Planifier des types de configuration pour la maintenance planifiée

Trois types de configuration de planification sont disponibles pour la maintenance planifiée :

  • default est une configuration de base pour gérer les versions d’AKS, en couvrant la mise à niveau des composants du plan de contrôle et des modules complémentaires système. Les versions peuvent prendre jusqu’à deux semaines pour être déployées dans toutes les régions à partir du moment initial de l’expédition, en raison des pratiques sécurisées de déploiement d'Azure.

    Choisissez default pour planifier ces mises à jour de manière à vous perturber le moins possible. Vous pouvez surveiller l’état d’une version AKS en cours par région avec l’outil de suivi des versions hebdomadaires.

  • aksManagedAutoUpgradeSchedule contrôle quand effectuer des mises à niveau de cluster planifiées par votre canal de mise à niveau automatique désigné. Cette configuration vous permet de configurer des paramètres de fréquence et de périodicité avec plus de précision par rapport à la configuration default. Pour plus d’informations sur la mise à niveau automatique du cluster, consultez Mettre à niveau automatiquement un cluster Azure Kubernetes Service.

  • aksManagedNodeOSUpgradeSchedule contrôle quand effectuer le correctif de sécurité de système d’exploitation planifié par votre canal de mise à niveau automatique du système d’exploitation de nœud. Cette configuration vous permet de configurer des paramètres de fréquence et de périodicité avec plus de précision par rapport à la configuration default. Pour plus d’informations sur le canal de mise à niveau automatique du système d’exploitation de nœud, consultez Corriger et mettre à jour automatiquement des images de nœud de cluster AKS

Nous vous recommandons d’utiliser aksManagedAutoUpgradeSchedule pour tous les scénarios de mise à niveau de version kubernetes de cluster et aksManagedNodeOSUpgradeSchedule pour tous les scénarios de mise à jour corrective de sécurité du système d’exploitation de nœud.

L’option default est destinée exclusivement aux versions hebdomadaires d’AKS. Utilisez cette option default si vous souhaitez contrôler la planification de mise à niveau pour les composants du plan de contrôle AKS (tels que le serveur d’API, ETCD, etc.) et les modules complémentaires (tels que CoreDNS, Metrics Server, etc.).

Les trois types de configurations peuvent coexister.

Créer une fenêtre de maintenance

Remarque

Quand vous utilisez la mise à niveau automatique, utilisez une fenêtre de maintenance d’une durée de quatre heures minimum afin de garantir un fonctionnement correct.

Remarque

À partir de la version de l’API 2023-05-01, utilisez les propriétés du tableau suivant pour la configuration de default.

À partir de la version 2023-05-01 de l’API, une fenêtre de maintenance aksManagedAutoUpgradeSchedule ou aksManagedNodeOSUpgradeSchedule, ainsi qu’une configuration default ont les propriétés suivantes :

Nom Description Valeur par défaut
utcOffset Fuseau horaire pour la maintenance du cluster. +00:00
startDate Date à laquelle la fenêtre de maintenance commence à prendre effet. Date actuelle au moment de la création
startTime Heure du début de la maintenance, selon le fuseau horaire déterminé par utcOffset. Non applicable
schedule Fréquence de mise à niveau. Trois types sont disponibles : Weekly, AbsoluteMonthly et RelativeMonthly. Non applicable
intervalDays Intervalle en jours des exécutions de maintenance. Applicable uniquement à aksManagedNodeOSUpgradeSchedule. Non applicable
intervalWeeks Intervalle en semaines des exécutions de maintenance. Non applicable
intervalMonths Intervalle en mois des exécutions de maintenance. Non applicable
dayOfWeek Jour de la semaine spécifié pour le début de la maintenance. Non applicable
durationHours Durée de la fenêtre pour l’exécution de la maintenance. Non applicable
notAllowedDates Plage de dates pendant laquelle la maintenance ne peut pas s’exécuter, déterminée par les propriétés enfants start et end. Applicable uniquement lorsque vous créez la fenêtre de maintenance à l’aide d’un fichier de configuration. Non applicable

Propriétés déconseillées

Remarque

Si vous créez une default configuration avec les propriétés déconseillées suivantes, elle migre automatiquement vers les nouvelles propriétés indiquées dans le tableau précédent.

[Déconseillé] Une default fenêtre de maintenance possède les propriétés héritées suivantes :

Nom Description Valeur par défaut
timeInWeek Dans une configuration default, cette propriété contient les valeurs day et hourSlots qui définissent une fenêtre de maintenance Non applicable
timeInWeek.day Jour de la semaine de la maintenance dans une configuration default. Non applicable
timeInWeek.hourSlots Liste des créneaux d’une heure pour effectuer la maintenance un jour particulier dans une configuration default. Non applicable
notAllowedTime Plage de dates pendant laquelle la maintenance ne peut pas s’exécuter, déterminée par les propriétés enfants start et end. Cette propriété s’applique uniquement lorsque vous créez la fenêtre de maintenance à l’aide d’un fichier de configuration. Non applicable

Types de planification

Quatre types de planification sont pris en charge : Daily, , WeeklyAbsoluteMonthly, et RelativeMonthly.

Le tableau suivant indique quels types sont disponibles pour chaque option de configuration de maintenance :

Type de planification default aksManagedClusterAutoUpgradeSchedule aksManagedNodeOSUpgradeSchedule
Quotidien Non pris en charge ❌ Pris en charge ✅ (après juin 2025) Prise en charge de ✅
Weekly Prise en charge de ✅ Prise en charge de ✅ Prise en charge de ✅
AbsoluteMonthly Non pris en charge ❌ Prise en charge de ✅ Prise en charge de ✅
RelativeMonthly Non pris en charge ❌ Prise en charge de ✅ Prise en charge de ✅

Tous les champs affichés pour chaque type de planification sont obligatoires.

Une planification Daily peut ressembler à « tous les trois jours » :

"schedule": {
    "daily": {
        "intervalDays": 3
    }
}

Une planification Weekly peut ressembler à « toutes les deux semaines, le vendredi » :

"schedule": {
    "weekly": {
        "intervalWeeks": 2,
        "dayOfWeek": "Friday"
    }
}

Une planification AbsoluteMonthly peut ressembler à « tous les trois mois, le premier jour du mois » :

"schedule": {
    "absoluteMonthly": {
        "intervalMonths": 3,
        "dayOfMonth": 1
    }
}

Une planification RelativeMonthly peut ressembler à « tous les deux mois, le dernier lundi » :

"schedule": {
    "relativeMonthly": {
        "intervalMonths": 2,
        "dayOfWeek": "Monday",
        "weekIndex": "Last"
    }
}

Les valeurs valides pour weekIndex sont First, Second, Third, Fourth et Last.

Créer le fichier de configuration Terraform

Les fichiers de configuration Terraform définissent l’infrastructure que Terraform crée et gère.

Créez un fichier nommé main.tf et ajoutez le code suivant pour définir la version Terraform et spécifier le fournisseur Azure :

terraform {
 required_providers {
   azurerm = {
     source  = "hashicorp/azurerm"
     version = "~>4.0"
   }
   azapi = {
     source  = "azure/azapi"
     version = "~>2.0"
   }
 }
}
provider "azurerm" {
 features {}
}
provider "azapi" {}

Créer un groupe de ressources

Ajoutez le code suivant à main.tf pour créer un groupe de ressources Azure. Mettez à jour les valeurs location et name pour qu'elles correspondent à votre environnement.

resource "azurerm_resource_group" "rg" {
 name     = "aks-maintenance-rg"
 location = "East US"
}

Créer un cluster AKS

Ajoutez le code suivant à main.tf pour créer un cluster AKS. Mettez à jour toutes les valeurs si nécessaire pour correspondre à votre environnement.

resource "azurerm_kubernetes_cluster" "aks" {
 name                = "aks-maintenance-cluster"
 location            = azurerm_resource_group.rg.location
 resource_group_name = azurerm_resource_group.rg.name
 dns_prefix          = "aksmaintenance"
 default_node_pool {
   name       = "nodepool1"
   node_count = 1
   vm_size    = "Standard_DS2_v2"
 }
 identity {
   type = "SystemAssigned"
 }
}

Ajouter une configuration de fenêtre de maintenance

Ajoutez une configuration de fenêtre de maintenance à un cluster AKS à l’aide de la az aks maintenanceconfiguration add commande.

Le premier exemple ajoute une nouvelle default configuration qui planifie l’exécution de la maintenance de 1h00 à 17h00 tous les lundis dans le UTC fuseau horaire. Le deuxième exemple ajoute une nouvelle configuration aksManagedAutoUpgradeSchedule qui planifie l’exécution de la maintenance tous les troisièmes vendredis du mois, entre 00:00 et 08:00 dans le fuseau horaire UTC+5:30.

# Add a new default configuration
az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --schedule-type Weekly --day-of-week Monday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 01:00

# Add a new aksManagedAutoUpgradeSchedule configuration
az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedAutoUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 3 --duration 8 --utc-offset +05:30 --start-time 00:00
  1. Dans le portail Azure, accédez à votre ressource de cluster AKS.

  2. Dans le menu du service, sous Paramètres, sélectionnez Mises à niveau.

  3. Sous Mise à niveau>Planificateur de mise à niveau automatique, sélectionnez Ajouter une planification.

    Screenshot qui affiche l’option permettant d’ajouter une planification dans le portail Azure.

  4. Dans le volet Ajouter une planification de maintenance, configurez les paramètres de fenêtre de maintenance suivants :

    • Répétition : sélectionnez la fréquence pour la fenêtre de maintenance. Nous vous recommandons de sélectionner Hebdomadaire.
    • Fréquence : sélectionnez le jour de la semaine pour la fenêtre de maintenance. Nous vous recommandons de sélectionner Dimanche.
    • Date de début de la maintenance : sélectionnez la date de début pour la fenêtre de maintenance.
    • Heure de début de la maintenance : sélectionnez l’heure de début pour la fenêtre de maintenance.
    • Décalage UTC : sélectionnez le décalage UTC pour la fenêtre de maintenance. La valeur par défaut est +00:00.

    Screenshot qui affiche le volet permettant d’ajouter une planification de maintenance dans le portail Azure.

  5. Cliquez sur Enregistrer.

Vous pouvez utiliser un fichier JSON pour créer une configuration de maintenance au lieu d’utiliser des paramètres. Lorsque vous utilisez cette méthode, vous pouvez empêcher la maintenance pendant une plage de dates en spécifiant notAllowedDates , defaultaksManagedAutoUpgradeScheduleet aksManagedNodeOSUpgradeSchedule les configurations.

  1. Créez un fichier JSON avec les paramètres de la fenêtre de maintenance.

    L’exemple suivant crée un default.json fichier qui planifie l’exécution de la maintenance de 1h00 à 17h00 tous les mardis dans le UTC fuseau horaire. Il existe également une exception de 2021-05-26 à 2021-05-30 pendant laquelle la maintenance n’est pas autorisée même si la période chevauche une fenêtre de maintenance.

    {
      "properties": {
        "maintenanceWindow": {
            "schedule": {
                "weekly": {
                    "intervalWeeks": 1,
                    "dayOfWeek": "Tuesday"
                }
            },
            "durationHours": 4,
            "utcOffset": "+00:00",
            "startTime": "01:00",
            "notAllowedDates": [
                {
                    "start": "2021-05-26",
                    "end": "2021-05-30"
                }
            ]
        }
      }
    }
    

    L’exemple suivant crée un fichier autoUpgradeWindow.json qui planifie l’exécution de la maintenance tous les trois mois, le premier du mois entre 09:00 et 13:00 dans le fuseau horaire UTC-08. Il existe également une exception de 2023-12-23 à 2024-01-05 pendant laquelle la maintenance n’est pas autorisée même si la période chevauche une fenêtre de maintenance.

    {
      "properties": {
        "maintenanceWindow": {
            "schedule": {
                "absoluteMonthly": {
                    "intervalMonths": 3,
                    "dayOfMonth": 1
                }
            },
            "durationHours": 4,
            "utcOffset": "-08:00",
            "startTime": "09:00",
            "notAllowedDates": [
                {
                    "start": "2023-12-23",
                    "end": "2024-01-05"
                }
            ]
        }
      }
    }
    
  2. Ajoutez la configuration de la fenêtre de maintenance à l’aide de la az aks maintenanceconfiguration add commande avec le --config-file paramètre.

    Le premier exemple ajoute une nouvelle configuration default à l’aide du fichier default.json. Le deuxième exemple ajoute une nouvelle configuration aksManagedAutoUpgradeSchedule à l’aide du fichier autoUpgradeWindow.json.

    # Add a new default configuration
    az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --config-file ./default.json
    
    # Add a new aksManagedAutoUpgradeSchedule configuration
    az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedAutoUpgradeSchedule --config-file ./autoUpgradeWindow.json
    

Ajoutez la configuration de la fenêtre de maintenance à main.tf en utilisant la ressource azapi_resource.

Configuration de maintenance par défaut

L’exemple suivant crée une default configuration de maintenance qui planifie l’exécution de la maintenance de 2h00 à 18h00 tous les samedis dans le UTC-04:00 fuseau horaire :

resource "azapi_resource" "default_maintenance" {
 type      = "Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2025-10-01"
 name      = "default"
 parent_id = azurerm_kubernetes_cluster.aks.id
 schema_validation_enabled = false
 body = {
   properties = {
     maintenanceWindow = {
       schedule = {
         weekly = {
           dayOfWeek     = "Saturday"
           intervalWeeks = 1
         }
       }
       durationHours = 4
       startTime     = "02:00"
       utcOffset     = "-04:00"
     }
   }
 }
}

Configuration de la mise à niveau automatique de maintenance

L’exemple suivant crée une aksManagedAutoUpgradeSchedule configuration de maintenance qui planifie l’exécution de la maintenance tous les dimanches de 1h00 à 17h00 dans le UTC-04:00 fuseau horaire, à compter du 20 avril 2026 :

resource "azapi_resource" "auto_upgrade" {
 type      = "Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2025-10-01"
 name      = "aksManagedAutoUpgradeSchedule"
 parent_id = azurerm_kubernetes_cluster.aks.id
 schema_validation_enabled = false
 body = {
   properties = {
     maintenanceWindow = {
       startDate     = "2026-04-20"
       startTime     = "01:00"
       durationHours = 4
       utcOffset     = "-04:00"
       schedule = {
         weekly = {
           dayOfWeek     = "Sunday"
           intervalWeeks = 1
         }
       }
     }
   }
 }
}

Configuration de la maintenance de la mise à niveau du système d’exploitation de nœud

L’exemple suivant crée une aksManagedNodeOSUpgradeSchedule configuration de maintenance qui planifie l’exécution de la maintenance tous les lundis de 3h00 à 17h00 dans le UTC-04:00 fuseau horaire, à compter du 21 avril 2026 :

resource "azapi_resource" "node_os_upgrade" {
 type      = "Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2025-10-01"
 name      = "aksManagedNodeOSUpgradeSchedule"
 parent_id = azurerm_kubernetes_cluster.aks.id
 schema_validation_enabled = false
 body = {
   properties = {
     maintenanceWindow = {
       startDate     = "2026-04-21"
       startTime     = "03:00"
       durationHours = 4
       utcOffset     = "-04:00"
       schedule = {
         weekly = {
           dayOfWeek     = "Monday"
           intervalWeeks = 1
         }
       }
     }
   }
 }
}

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 de la default maintenance de 2h00 à 18h00 tous les vendredis :

az aks maintenanceconfiguration update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --schedule-type Weekly --day-of-week Friday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 02:00
  1. Dans le portail Azure, accédez à votre ressource de cluster AKS.

  2. Dans le menu du service, sous Paramètres, sélectionnez Mises à niveau.

  3. Sous Mise à niveau>Planificateur de mise à niveau automatique, sélectionnez Modifier une planification.

    Screenshot qui affiche l’option permettant de modifier une planification dans le portail Azure.

  4. Dans le volet Modifier la planification de maintenance, mettez à jour les paramètres de la fenêtre de maintenance selon les besoins.

  5. Cliquez sur Enregistrer.

  1. Mettez à jour le fichier JSON de configuration avec les nouveaux paramètres de fenêtre de maintenance.

    L’exemple suivant met à jour le default.json fichier de la section précédente pour planifier l’exécution de la maintenance de 2h00 à 18h00 tous les lundis :

    {
      "properties": {
        "maintenanceWindow": {
            "schedule": {
                "weekly": {
                    "intervalWeeks": 1,
                    "dayOfWeek": "Monday"
                }
            },
            "durationHours": 4,
            "utcOffset": "+00:00",
            "startTime": "02:00",
            "notAllowedDates": [
                {
                    "start": "2021-05-26",
                    "end": "2021-05-30"
                }
            ]
        }
      }
    }
    
  2. Mettez à jour la configuration de la fenêtre de maintenance à l’aide de la az aks maintenanceconfiguration update commande avec le --config-file paramètre :

    az aks maintenanceconfiguration update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --config-file ./default.json
    

Si vous disposez déjà d’un cluster AKS existant géré par Terraform, vous pouvez mettre à jour la configuration de la fenêtre de maintenance en modifiant le fichier de configuration Terraform et en appliquant les modifications à l’aide de la terraform apply commande.

Initialisez Terraform

Initialisez Terraform dans le répertoire contenant votre main.tf fichier à l’aide de la terraform init commande. Cette commande télécharge le fournisseur Azure requis pour gérer les ressources Azure avec Terraform.

terraform init

Créer un plan d’exécution Terraform

Créez un plan d’exécution Terraform à l’aide de la commande terraform plan. Cette commande vous montre les ressources que Terraform créera ou modifiera dans votre abonnement Azure.

terraform plan

Appliquer la configuration Terraform

Après avoir examiné et confirmé le plan d’exécution, appliquez la configuration Terraform à l’aide de la terraform apply commande. Cette commande crée ou modifie les ressources définies dans votre fichier main.tf dans votre abonnement Azure.

terraform apply

Répertorier toutes les fenêtres de maintenance dans un cluster existant

Répertoriez les fenêtres de configuration de maintenance actuelles dans votre cluster AKS à l’aide de la az aks maintenanceconfiguration list commande :

az aks maintenanceconfiguration list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME

Afficher une fenêtre spécifique de configuration de la maintenance dans un cluster existant

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 aksManagedAutoUpgradeSchedule

L’exemple de sortie suivant affiche la fenêtre de maintenance pour aksManagedAutoUpgradeSchedule :

{
  "id": "/subscriptions/<subscription>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/maintenanceConfigurations/aksManagedAutoUpgradeSchedule",
  "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": "aksManagedAutoUpgradeSchedule",
  "notAllowedTime": null,
  "resourceGroup": "myResourceGroup",
  "systemData": null,
  "timeInWeek": null,
  "type": null
}

Supprimez une fenêtre de configuration de la maintenance dans un cluster existant

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

L’exemple suivant supprime la configuration de maintenance autoUpgradeSchedule :

az aks maintenanceconfiguration delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name autoUpgradeSchedule
  1. Dans le portail Azure, accédez à votre ressource de cluster AKS.

  2. Dans le menu du service, sous Paramètres, sélectionnez Configuration du cluster.

  3. Sous Mise à niveau>Planificateur de mise à niveau automatique, sélectionnez Modifier une planification.

    Screenshot qui affiche l’option permettant de modifier une planification dans le portail Azure.

  4. Dans le volet Modifier la planification de maintenance, sélectionnez Supprimer la planification.

    Screenshot qui affiche le volet pour modifier une fenêtre de maintenance avec le bouton permettant de supprimer une planification dans le portail Azure.

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

L’exemple suivant supprime la configuration de maintenance autoUpgradeSchedule :

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

Pour supprimer une configuration de maintenance, supprimez le bloc correspondant de votre configuration Terraform et appliquez les modifications à l’aide de la terraform apply commande.

Questions fréquemment posées (FAQ)

Comment puis-je consulter les configurations de maintenance existantes dans mon cluster ?

Utilisez la commande az aks maintenanceconfiguration show.

La maintenance réactive et non planifiée peut-elle également se produire pendant les notAllowedDates périodes ?

Oui. AKS se réserve le droit d’arrêter ces fenêtres pour des opérations de maintenance non planifiées réactives qui sont urgentes ou critiques.

Comment faire pour savoir si un événement de maintenance s’est produit ?

Pour les versions, consultez la région de votre cluster et recherchez les informations dans les versions hebdomadaires afin de vérifier si elles correspondent à votre planification de maintenance. Pour afficher l’état de vos mises à niveau automatiques, recherchez les journaux d’activité sur votre cluster. Vous pouvez également rechercher des événements liés à une mise à niveau spécifique, comme indiqué dans Mettre à niveau un cluster AKS.

AKS émet également des événements de Azure Event Grid liés à la mise à niveau. Pour plus d’informations, consultez AKS en tant que source Event Grid.

Puis-je utiliser plusieurs configurations de maintenance en même temps ?

Oui, vous pouvez exécuter les trois configurations simultanément : default, aksManagedAutoUpgradeSchedule et aksManagedNodeOSUpgradeSchedule. Si les fenêtres se chevauchent, AKS décide de l’ordre d’exécution.

J’ai configuré une fenêtre de maintenance, mais la mise à niveau n’a pas eu lieu. Pourquoi ?

La mise à niveau automatique d’AKS nécessite un certain temps (généralement pas plus de 15 minutes) pour prendre en compte la fenêtre de maintenance. Nous vous recommandons de laisser s’écouler au moins 15 minutes entre la création ou la mise à jour d’une configuration de maintenance et l’heure de début planifiée.

Vérifiez également que votre cluster est démarré lorsque la fenêtre de maintenance planifiée débute. Si le cluster est arrêté, son plan de contrôle est libéré et aucune opération ne peut être effectuée.

Pourquoi l’un de mes pools d’agents a-t-il été mis à niveau en dehors de la fenêtre de maintenance ?

Si un pool d’agents n’est pas mis à niveau (par exemple, car les budgets d’interruption des pods l’ont empêché), il peut être mis à niveau ultérieurement, en dehors de la fenêtre de maintenance. Ce scénario est appelé mise à niveau de rattrapage. Il évite de laisser les pools d’agents être mis à niveau avec une version différente du plan de contrôle AKS.

Une autre raison pour laquelle un pool d’agents peut être mis à niveau de manière inattendue s’il n’existe aucune configuration de maintenance définie ou s’il a été supprimé. Dans ce cas, un cluster avec mise à niveau automatique , mais sans configuration de maintenance est mis à niveau à des moments aléatoires (planification de secours), ce qui peut être une période non souhaitée.

Existe-t-il de meilleures pratiques pour les configurations de maintenance ?

Nous vous recommandons de définir la planification des mises à jour de sécurité du système d’exploitation de nœud sur une cadence hebdomadaire si vous utilisez le canal NodeImage, car une nouvelle image de nœud est livrée chaque semaine. Vous pouvez également choisir le canal SecurityPatch afin de recevoir des mises à jour de sécurité quotidiennes.

Vous pouvez définir la planification de mise à niveau automatique sur une cadence mensuelle pour rester à jour avec la stratégie de support Kubernetes N-2.

Pour obtenir une discussion détaillée sur les meilleures pratiques de mise à niveau et d’autres considérations, consultez Instructions de mise à jour corrective et de mise à niveau AKS.

Puis-je configurer tous mes clusters dans un abonnement unique pour utiliser la même configuration de maintenance ?

Nous vous déconseillons d’utiliser la même configuration de maintenance pour plusieurs clusters dans un abonnement unique, car cela peut entraîner des erreurs de limitation ARM entraînant l’échec des mises à niveau de cluster. Au lieu de cela, nous vous recommandons de mettre en place des fenêtres de maintenance pour chaque cluster afin d’éviter ces erreurs.

Pourquoi mes pools de nœuds ont-ils été mis à niveau deux fois pendant la même fenêtre de maintenance ?

Si une version plus récente de l’image de nœud devient disponible pendant la fenêtre de maintenance, AKS effectue une deuxième mise à niveau pour vous assurer que vos pools de nœuds exécutent la dernière version. Ce comportement est normal et n’indique pas de problème.

Pour bien démarrer avec la mise à niveau de votre cluster AKS, consultez Options de mise à niveau des clusters AKS.