Partager via


Mises à jour d’images de nœud pour le provisionnement automatique de nœuds (NAP) dans Azure Kubernetes Service (AKS)

Cet article fournit une vue d’ensemble des mises à jour d’images de nœud pour l’approvisionnement automatique de nœud (NAP) dans Azure Kubernetes Service (AKS), notamment son fonctionnement, ses fenêtres de maintenance recommandées et des exemples pour commencer.

Comment fonctionnent les mises à jour d’images de nœud pour les nœuds de provisionnement automatique ?

Par défaut, les machines virtuelles du pool de nœuds NAP sont automatiquement mises à jour lorsqu’une nouvelle version d’image est disponible. Vous pouvez configurer une fenêtre de maintenance de la mise à niveau du système d’exploitation géré par AKS pour contrôler le moment où de nouvelles images sont récupérées et appliquées à vos nœuds NAP, ou utiliser les budgets d’interruption de nœud Karpenter et les budgets d’interruption de pod pour contrôler comment et quand des interruptions se produisent pendant les mises à niveau.

Note

NAP force la récupération de la dernière version de l'image, si la version de l'image du nœud existant est antérieure à 90 jours. Cela contourne toute fenêtre de maintenance existante.

Les fenêtres de maintenance pour la mise à niveau du système d'exploitation du nœud pour NAP

Vous pouvez utiliser la fonctionnalité de maintenance planifiée AKS avec un canal de mise à niveau automatique du système d’exploitation de nœud pour configurer une aksManagedNodeOSUpgradeSchedule fenêtre de maintenance qui contrôle quand effectuer des correctifs de sécurité du système d’exploitation de nœud planifiés par votre canal de mise à niveau automatique du système d’exploitation de nœud désigné.

Comportement et considérations relatives à la fenêtre de maintenance de mise à niveau du système d’exploitation de nœud

Gardez à l’esprit les informations suivantes lors de la configuration d’une fenêtre de maintenance de mise à niveau du système d’exploitation de nœud pour NAP :

  • La aksManagedNodeOSUpgradeSchedule configuration de maintenance détermine la fenêtre pendant laquelle NAP récupère une nouvelle image. Cette configuration ne détermine pas nécessairement quand les nœuds existants sont interrompus.
  • Le mécanisme de mise à niveau et les critères de décision sont spécifiques à NAP/Karpenter et sont évalués par la logique de dérive de NAP. NAP respecte les Budgets d'Interruption des Nœuds Karpenter et les Budgets d'Interruption des Pods. Pour plus d’informations sur la dérive, consultez la documentation sur la dérive Karpenter.
  • Ces décisions de mise à niveau NAP sont distinctes des canaux NodeImage et SecurityPatch du cluster. Toutefois, la configuration de maintenance de aksManagedNodeOSUpgradeSchedule les applique également.
  • Nous vous recommandons d’utiliser une fenêtre de maintenance de quatre heures ou plus pour une opération fiable.
  • Si aucune configuration de maintenance n’existe, AKS peut utiliser une planification de secours pour récupérer de nouvelles images, ce qui peut entraîner la récupération d’images à des moments inattendus. Vous pouvez éviter un minutage inattendu des nouvelles images et des mises à niveau en définissant un élément explicite aksManagedNodeOSUpgradeSchedule.
  • Veuillez autoriser au moins 30 minutes entre la création ou la mise à jour d’une configuration de maintenance et l’heure de début prévue afin de vous assurer qu’AKS dispose du temps nécessaire pour concilier la nouvelle configuration.

Nous vous recommandons le modèle de planification suivant pour les nœuds gérés par NAP :

  • Cadence hebdomadaire : Recommandé pour les déploiements réguliers d’images de nœud (par exemple : tous les dimanches).

Créer un exemple de planification de maintenance du système d’exploitation de nœud

Les sections suivantes vous montrent comment créer une fenêtre de maintenance hebdomadaire pour les nœuds gérés par NAP à l’aide d’Azure CLI et d’un fichier de configuration JSON et comment mettre à jour, afficher, répertorier et supprimer la configuration de maintenance.

Créer une configuration de maintenance

  1. Créez un fichier JSON nommé nodeosMaintenance.json avec une fenêtre de maintenance hebdomadaire (par exemple : Dimanche à 01:00 UTC pendant 4 heures).

    {
      "properties": {
        "maintenanceWindow": {
          "durationHours": 4,
          "schedule": {
            "weekly": {
              "intervalWeeks": 1,
              "dayOfWeek": "Sunday"
            }
          },
          "startDate": "2025-01-01",
          "startTime": "01:00",
          "utcOffset": "+00:00"
        }
      }
    }
    
  2. Ajoutez la configuration de maintenance à votre cluster à l’aide de la az aks maintenanceconfiguration add commande.

    az aks maintenanceconfiguration add \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule \
      --config-file ./nodeosMaintenance.json
    

Mettre à jour, afficher, lister ou supprimer une configuration de maintenance

Vous pouvez utiliser les commandes suivantes pour mettre à jour, afficher, répertorier ou supprimer une configuration de maintenance pour les nœuds gérés par NAP :

  • Mettez à jour une configuration de maintenance en modifiant le fichier JSON, puis en exécutant la az aks maintenanceconfiguration update commande.

    az aks maintenanceconfiguration update \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule \
      --config-file ./nodeosMaintenance.json
    
  • Affichez les détails d’une configuration de maintenance à l’aide de la az aks maintenanceconfiguration show commande.

    az aks maintenanceconfiguration show \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule
    
  • Répertoriez toutes les configurations de maintenance de votre cluster à l’aide de la az aks maintenanceconfiguration list commande.

    az aks maintenanceconfiguration list \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME
    
  • Supprimez une configuration de maintenance à l’aide de la az aks maintenanceconfiguration delete commande.

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

Pour obtenir des détails complets, des exemples et des scénarios avancés, consultez Utiliser la maintenance planifiée pour planifier des fenêtres de maintenance pour votre cluster AKS.

Budgets de perturbation des nœuds Karpenter et budgets de perturbation de pod pour NAP

Pour plus d’informations sur la configuration des budgets d’interruption de nœud Karpenter et des budgets d’interruption de pod pour NAP, reportez-vous aux ressources suivantes de la documentation officielle de Karpenter :

Étapes suivantes

Pour plus d’informations sur le provisionnement automatique de nœuds dans AKS, consultez les articles suivants :