Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le gestionnaire de communication Azure Kubernetes Service (AKS) simplifie les notifications pour toutes vos tâches de maintenance AKS à l’aide des frameworks Azure Resource Notifications et Azure Resource Graph. Le gestionnaire de communication vous fournit des alertes en temps opportun sur les déclencheurs et les résultats des événements, afin que vous puissiez surveiller étroitement vos mises à niveau.
En cas d’échec de la maintenance, le gestionnaire de communication vous informe des raisons de l’échec. Ces informations réduisent les problèmes opérationnels liés à l’observabilité et aux suivis.
En suivant les étapes décrites dans cet article, vous pouvez configurer des notifications pour tous les types de mises à niveau automatiques qui utilisent des fenêtres de maintenance.
Prérequis
Configurez votre cluster pour le canal de mise à niveau automatique ou le canal de mise à niveau automatique pour les nœuds.
Créez une fenêtre de maintenance planifiée pour votre configuration des mises à niveau automatiques.
Configurer le gestionnaire de communication
Dans le portail Azure, accédez à la ressource.
Sélectionnez Surveillance>Alerte>Règles d'alerte, puis sélectionnez Créer.
Sous l’onglet Condition, pour nom du signal, sélectionnez Recherche dans les journaux personnalisés.
Dans la zone de requête De recherche , collez l’une des requêtes personnalisées suivantes. Veillez à mettre à jour le
where id containschemin d’accès pour référencer vos ressources pour l’ID d’abonnement, le nom du groupe de ressources et le nom du cluster.La requête suivante concerne les notifications de mises à niveau automatiques pour les clusters :
arg("").containerserviceeventresources | where type == "microsoft.containerservice/managedclusters/scheduledevents" | where id contains "/subscriptions/<subid>/resourcegroups/<rgname>/providers/Microsoft.ContainerService/managedClusters/<clustername>" | where properties has "eventStatus" | extend status = substring(properties, indexof(properties, "eventStatus") + strlen("eventStatus") + 3, 50) | extend status = substring(status, 0, indexof(status, ",") - 1) | where status != "" | where properties has "eventDetails" | extend upgradeType = case( properties has "K8sVersionUpgrade", "K8sVersionUpgrade", properties has "NodeOSUpgrade", "NodeOSUpgrade", "" ) | extend details = parse_json(tostring(properties.eventDetails)) | where properties has "lastUpdateTime" | extend eventTime = substring(properties, indexof(properties, "lastUpdateTime") + strlen("lastUpdateTime") + 3, 50) | extend eventTime = substring(eventTime, 0, indexof(eventTime, ",") - 1) | extend eventTime = todatetime(tostring(eventTime)) | where eventTime >= ago(30m) // Ensure this matches aggregation granularity & frequency | where upgradeType == "K8sVersionUpgrade" | project eventTime, upgradeType, status, properties, name, details | order by eventTime ascLa requête suivante concerne les notifications de mises à niveau automatiques pour NodeOS :
arg("").containerserviceeventresources | where type == "microsoft.containerservice/managedclusters/scheduledevents" | where id contains "/subscriptions/<subid>/resourcegroups/<rgname>/providers/Microsoft.ContainerService/managedClusters/<clustername>" | where properties has "eventStatus" | extend status = substring(properties, indexof(properties, "eventStatus") + strlen("eventStatus") + 3, 50) | extend status = substring(status, 0, indexof(status, ",") - 1) | where status != "" | where properties has "eventDetails" | extend upgradeType = case( properties has "K8sVersionUpgrade", "K8sVersionUpgrade", properties has "NodeOSUpgrade", "NodeOSUpgrade", "" ) | extend details = parse_json(tostring(properties.eventDetails)) | where properties has "lastUpdateTime" | extend eventTime = substring(properties, indexof(properties, "lastUpdateTime") + strlen("lastUpdateTime") + 3, 50) | extend eventTime = substring(eventTime, 0, indexof(eventTime, ",") - 1) | extend eventTime = todatetime(tostring(eventTime)) | where eventTime >= ago(30m) // Ensure this matches aggregation granularity & frequency | where upgradeType == "NodeOSUpgrade" | project eventTime, upgradeType, status, properties, name, details | order by eventTime ascAccédez à l’onglet Condition . Configurez les conditions d’alerte avec les paramètres suivants :
- Mesure : sélectionnez les lignes du tableau.
- Type d’agrégation : sélectionnez Nombre.
- Granularité d’agrégation : sélectionnez 30 minutes.
- Valeur de seuil : conservez à 0.
- Fractionné par dimensions : pour le nom de la dimension, sélectionnez l’état. Ensuite, cochez la case Inclure toutes les valeurs futures .
Dans la zone Fractionner par dimensions , pour les valeurs de dimension, sélectionnez une valeur. Étant donné que vous avez sélectionné l’état du nom de la dimension, les valeurs disponibles sont planifiées, démarrées, terminées, annulées et ayant échoué.
Remarque
Ces valeurs d’état s’affichent uniquement si votre cluster a précédemment exécuté des opérations de mise à niveau automatique. Pour les nouveaux clusters ou pour les clusters qui n’ont pas encore subi de mises à niveau automatiques, la liste déroulante peut apparaître vide ou n’afficher aucune dimension disponible. Une fois que votre cluster effectue sa première mise à niveau automatique, ces valeurs d’état deviennent disponibles pour la sélection.
Accédez à l’onglet Actions . Assurez-vous qu’un groupe d’actions avec l’adresse e-mail correcte existe, afin que vous puissiez recevoir les notifications :
Sélectionnez Utiliser des groupes d'actions>Créer un groupe d’actions.
Pour le type de notification, sélectionnez E-mail/SMS_message/Push/Voice.
Cochez la case e-mail , puis entrez l’adresse e-mail dans la zone e-mail .
Accédez à l’onglet Détails . Attribuez une identité managée afin de pouvoir accorder l’accès aux ressources nécessaires. Dans la zone Identité , sélectionnez Identité managée affectée par le système.
Accédez à l’onglet Vérifier + créer , puis sélectionnez Créer.
Maintenant que vous avez créé la règle d’alerte, vous pouvez attribuer les rôles appropriés pour l’identité managée :
- Dans la règle d'alerte, accédez aux paramètres>Identité>Identité managée attribuée par le système>Attributions de rôles Azure.
- Sélectionnez Ajouter une attribution de rôle, sélectionnez le rôle Lecteur et attribuez-le au groupe de ressources.
- Sélectionnez à nouveau Ajouter une attribution de rôle , sélectionnez le rôle Lecteur et affectez-le à l’abonnement.
Conseil / Astuce
Si vous ne voyez pas l’option Identité , vérifiez que vous avez créé votre règle d’alerte et que vous disposez des autorisations nécessaires.
Après avoir configuré le gestionnaire de communication, il envoie des avis anticipés une semaine avant le démarrage de la maintenance et un jour avant le démarrage de la maintenance. Il vous envoie également des alertes en temps opportun pendant l’opération de maintenance.
Vérifier la configuration
Pour mettre à niveau le cluster, attendez que le upgrader automatique démarre. Vérifiez ensuite que vous recevez rapidement des avis sur l’adresse e-mail que vous avez configurée pour recevoir des avis.
Vérifiez la base de données Azure Resource Graph afin de trouver l’enregistrement de notification planifié. Chaque notification d’événement planifiée doit être répertoriée comme un enregistrement dans la ContainerServiceEventResources table.