Google Kubernetes Engine (GKE) inclut une intégration à Cloud Logging et Cloud Monitoring, y compris Google Cloud Managed Service pour Prometheus.
Cette intégration vous permet de surveiller vos clusters GKE en cours d'exécution, de gérer vos journaux système et de débogage, et d'analyser les performances de votre système à l'aide de fonctionnalités de profilage et de traçage avancées.
Cette intégration fournit également un tableau de bord pour observer vos clusters GKE.
Les journaux de sécurité, y compris les journaux d'audit de base, sont disponibles pour GKE et la plupart des autres services Google Cloud, même lorsque Cloud Logging n'est pas activé pour un cluster GKE. Pour en savoir plus, consultez la page Journaux d'audit Cloud.
Cette page explique comment effectuer les opérations suivantes :
Créer un cluster et configurer Cloud Logging, Cloud Monitoring et Google Cloud Managed Service pour Prometheus
Sélectionnez les journaux et les métriques à collecter.
Désactiver Cloud Logging, Cloud Monitoring et Google Cloud Managed Service pour Prometheus pour un cluster
Pour les clusters GKE Autopilot, vous ne pouvez pas désactiver l'intégration de Cloud Logging et Cloud Monitoring.
Avant de commencer
Avant de commencer, effectuez les tâches suivantes :
- Activez l'API Google Kubernetes Engine. Activer l'API Google Kubernetes Engine
- Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande
gcloud components update
.
Vérifiez que vous êtes le propriétaire du projet contenant votre cluster.
Vérifiez que vous avez activé l'API Cloud Logging. Vous pouvez vérifier l'état de l'API Cloud Logging depuis la page de présentation.
Journaux et métriques
Vous pouvez choisir d'envoyer ou non les journaux et les métriques de votre cluster GKE vers Cloud Logging et Cloud Monitoring. Les sections suivantes décrivent les journaux et les métriques disponibles, ainsi que les journaux et les métriques activés par défaut au moment de la création du cluster.
Journaux disponibles
Si vous choisissez d'envoyer des journaux à Cloud Logging, vous devez envoyer des journaux système. Vous pouvez également envoyer des journaux à partir de sources supplémentaires.
En savoir plus sur les tarifs de Cloud Logging.
Le tableau suivant indique les valeurs acceptées pour l'option --logging
pour les commandes create et update.
Source de journal | Valeur --logging |
Journaux collectés |
---|---|---|
Aucune | NONE |
Aucun journal envoyé à Cloud Logging. Aucun agent de collecte de journaux n'est installé dans le cluster. Cette valeur n'est pas acceptée pour les clusters GKE Autopilot. |
Système | SYSTEM |
Collecte les journaux des éléments suivants :
Collecte également les événements Kubernetes. Cette valeur est obligatoire pour tous les types de clusters. |
Charges de travail | WORKLOAD |
Tous les journaux générés par des conteneurs non-système s'exécutant sur des nœuds utilisateur. Cette valeur est activée par défaut, mais facultative pour tous les types de clusters. |
Serveur d'API | API_SERVER |
Tous les journaux générés par kube-apiserver . Cette valeur est facultative pour tous les types de clusters. |
Programmeur | SCHEDULER |
Tous les journaux générés par kube-scheduler . Cette valeur est facultative pour tous les types de clusters. |
Gestionnaire de contrôleurs | CONTROLLER_MANAGER |
Tous les journaux générés par kube-controller-manager . Cette valeur est facultative pour tous les types de clusters. |
Métriques disponibles
Si vous choisissez d'envoyer des métriques à Cloud Monitoring, vous devez envoyer des métriques système et avez également la possibilité d'envoyer des métriques supplémentaires.
Obtenez plus d'informations sur les tarifs de Cloud Monitoring, y compris sur les métriques non facturables.
Le tableau suivant indique les valeurs acceptées pour l'option --monitoring
pour les commandes create et update.
Source | Valeur --monitoring |
Métriques collectées |
---|---|---|
Aucune | NONE |
Aucune métrique envoyée à Cloud Monitoring. Aucun agent de collecte de métriques n'est installé dans le cluster. Cette valeur n'est pas acceptée pour les clusters GKE Autopilot. |
Image | SYSTEM |
Métriques des composants système essentiels requises pour Kubernetes. Pour obtenir la liste complète des métriques, consultez la page Métriques Kubernetes. |
Serveur d'API | API_SERVER |
Métriques de kube-apiserver .
Pour obtenir la liste complète des métriques, consultez la page
Métriques du serveur d'API. |
Programmeur | SCHEDULER |
Métriques de kube-scheduler .
Pour obtenir la liste complète des métriques, consultez la section
Métriques du programmeur. |
Gestionnaire de contrôleurs | CONTROLLER_MANAGER |
Métriques de kube-controller-manager .
Pour obtenir la liste complète des métriques, consultez la section
Métriques du gestionnaire de contrôleurs. |
Volume persistant (stockage) | STORAGE |
Métriques de stockage provenant de kube-state-metrics .
Inclut les métriques pour les volumes persistants et les revendications de volume persistant.
Pour obtenir la liste complète des métriques, consultez la page
Métriques de stockage.
|
Pod | POD |
Métriques de pod provenant de kube-state-metrics .
Pour obtenir la liste complète des métriques, consultez la page
Métriques de pod.
|
Déploiement | DEPLOYMENT |
Métriques de déploiement provenant de kube-state-metrics .
Pour obtenir la liste complète des métriques, consultez la page
Métriques de déploiement.
|
StatefulSet | STATEFULSET |
Métriques StatefulSet provenant de kube-state-metrics .
Pour obtenir la liste complète des métriques, consultez la page
Métriques StatefulSet. |
DaemonSet | DAEMONSET |
Métriques DaemonSet provenant de kube-state-metrics .
Pour obtenir la liste complète des métriques, consultez la page
Métriques DaemonSet.
|
HorizonalPodAutoscaler | HPA |
Métriques HPA provenant de kube-state-metrics .
Consultez la liste complète des
métriques HorizonalPodAutoscaler.
|
cAdvisor | CADVISOR |
Métriques cAdvisor du package de métriques cAdvisor/Kubelet. Pour obtenir la liste complète des métriques, consultez la section Métriques cAdvisor. |
Kubelet | KUBELET |
Métriques Kubelet de cAdvisor/Kubelet. Pour obtenir la liste complète des métriques, consultez le package de métriques. Métriques Kubelet. |
Vous pouvez également collecter des métriques de style Prometheus exposées par n'importe quelle charge de travail GKE en utilisant le service géré Google Cloud pour Prometheus, ce qui vous permet de surveiller vos charges de travail et d'envoyer des alertes via Prometheus, sans avoir à gérer et exploiter manuellement Prometheus à grande échelle.
Journaux et métriques activés par défaut
Lorsque vous créez un cluster GKE sur Google Cloud, certains journaux et métriques sont activés par défaut lors de la création du cluster.
- Les journaux système et les métriques sont activés pour tous les types de clusters et ne peuvent pas être désactivés.
- Les journaux de charge de travail sont activés par défaut pour tous les clusters Autopilot, mais peuvent être désactivés. Nous vous déconseillons de désactiver les journaux de charge de travail en raison de leur impact sur la compatibilité.
- Pour les projets de l'édition GKE Enterprise, des journaux et des métriques supplémentaires utiles sont activés par défaut si vous vous enregistrez dans un parc lors de la création du cluster. Si vous souhaitez activer ces journaux et métriques après la création d'un cluster, consultez la page Modifier votre cluster.
Dans les tableaux suivants, une coche () indique les journaux et les métriques activés par défaut lorsque vous créez et enregistrez un cluster dans un projet avec GKE Enterprise activé :
Journaux
Nom du journal | Autopilot | Standard |
---|---|---|
Système | ||
Charges de travail | - |
|
Serveur d'API | ||
Programmeur | ||
Gestionnaire de contrôleurs |
Les journaux du plan de contrôle (serveur d'API, programmeur et gestionnaire de contrôleurs) entraînent des frais Cloud Logging.
Métriques
Nom de la métrique | Autopilot | Standard |
---|---|---|
Système | ||
Serveur d'API | ||
Programmeur | ||
Gestionnaire de contrôleurs | ||
Volume persistant (stockage) | ||
Pods | ||
Déploiement | ||
StatefulState | ||
DaemonSet | ||
HorizonalPodAutoscaler | ||
cAdvisor | ||
Kubelet |
Tous les clusters enregistrés dans un projet sur lequel GKE Enterprise est activé peuvent utiliser les packages pour les métriques du plan de contrôle, les métriques Kube State et les métriques cAdvisor/Kubelet sans frais supplémentaires. Sinon, ces métriques entraînent des frais Cloud Monitoring.
Vous pouvez choisir de désactiver les journaux et les métriques par défaut lors de la création du cluster ou après la création du cluster.
Configurer la surveillance et la journalisation pour un nouveau cluster
Les instructions de création d'un cluster figurant dans cette section ne portent que sur les options relatives à Cloud Logging et à Cloud Monitoring. Pour obtenir des instructions complètes sur la création d'un cluster GKE, consultez la documentation sur la création d'un cluster standard ou Autopilot.
Pour configurer manuellement la journalisation et la surveillance lors de la création d'un cluster GKE, procédez comme suit :
Console
Pour un cluster Autopilot :
Dans le volet de navigation de la page de création de cluster Autopilot, cliquez sur Paramètres avancés.
Dans la liste Opérations, sélectionnez les journaux et les métriques que vous souhaitez collecter.
Dans la liste Composants de Cloud Logging, sélectionnez les composants à partir desquels vous souhaitez collecter les journaux.
Dans la liste Composants de Cloud Monitoring, sélectionnez les composants à partir desquels vous souhaitez collecter des métriques.
Les clusters Autopilot utilisent toujours les bonnes pratiques de Google pour la collecte de la télémétrie, ce qui signifie que la journalisation du système et des charges de travail ainsi que la surveillance du système sont toujours activées.
Cliquez sur Créer.
Pour un cluster Standard :
Dans le volet de navigation de la page de création de cluster Standard, sous Cluster, cliquez sur Fonctionnalités.
Dans la liste Opérations, sélectionnez les journaux et les métriques que vous souhaitez collecter.
Dans la liste Composants de Cloud Logging, sélectionnez les composants à partir desquels vous souhaitez collecter les journaux.
Dans la liste Composants de Cloud Monitoring, sélectionnez les composants à partir desquels vous souhaitez collecter des métriques.
Pour désactiver Cloud Logging (sauf pour les journaux d'audit), décochez la case Activer Cloud Logging.
Pour désactiver Cloud Monitoring, décochez la case Activer Cloud Monitoring.
Pour désactiver Google Cloud Managed Service pour Prometheus, décochez la case Activer Google Cloud Managed Service pour Prometheus.
gcloud
Pour les nouveaux clusters, Cloud Logging et Cloud Monitoring sont activés par défaut. Pour créer votre cluster, exécutez la commande suivante.
gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du clusterCOMPUTE_LOCATION
: emplacement Compute Engine du cluster.
Vous pouvez également configurer les journaux envoyés à Cloud Logging en transmettant une liste de valeurs séparées par des virgules à l'option
--logging
de la commandecreate
. Pour ne collecter aucun journal, transmettez--logging=NONE
. Pour collecter les journaux système, du serveur d'API, du programmeur et du gestionnaire de contrôleurs, transmettez--logging=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER
. Pour collecter les journaux système et des charges de travail, transmettez--logging=SYSTEM,WORKLOAD
. Par exemple :gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --logging=SYSTEM,WORKLOAD
De même, vous pouvez configurer les métriques envoyées à Cloud Monitoring en transmettant une liste de valeurs séparées par une virgule à l'option
--monitoring
. Pour ne collecter aucune métrique, transmettez--monitoring=NONE
. Pour collecter les métriques système, transmettez--monitoring=SYSTEM
. Pour collecter toutes les métriques, transmettez--monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,
DAEMONSET,HPA,CADVISOR,KUBELET
. Par exemple :gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,DAEMONSET,HPA,CADVISOR,KUBELET
Vous pouvez également activer Google Managed Service pour Prometheus à l'aide de l'option
--enable-managed-prometheus
. Par exemple :gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus
L'option
--enable-managed-prometheus
active le collecteur géré, qui doit être configuré.
Terraform
Pour configurer la collecte de journaux et de métriques à l'aide de Terraform, accédez aux blocs
logging_config
etmonitoring_config
dans le registre Terraform pourgoogle_container_cluster
. L'activation de la collecte de journaux à partir du serveur d'API, du programmeur et du gestionnaire de contrôleurs nécessite le fournisseur Terraform pour Google Cloud version 4.44.0 ou ultérieure.Pour obtenir des informations générales sur l'utilisation de Google Cloud avec Terraform, consultez la page Terraform avec Google Cloud.
Configurer la surveillance et la journalisation pour un cluster existant
La section suivante explique comment modifier l'intégration Cloud Logging et Cloud Monitoring pour un cluster GKE existant.
Modifier la compatibilité des fonctionnalités de surveillance et de journalisation, et modifier la version Kubernetes de votre cluster sont des actions distinctes. Si vous changez la version Kubernetes de votre cluster, cela ne modifie pas la compatibilité configurée de Monitoring et Logging.
Quelle compatibilité de Monitoring et Logging mon cluster utilise-t-il ?
Pour afficher les paramètres d'intégration de Cloud Logging et Cloud Monitoring pour votre cluster, procédez comme suit :
-
Dans la console Cloud Console, accédez à la page des clusters Kubernetes.
Accéder à la page Clusters Kubernetes
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Kubernetes Engine.
Dans le panneau Informations détaillées de votre cluster, consultez l'état indiqué dans les champs Cloud Logging, Cloud Monitoring et Google Cloud Managed Service pour Prometheus
Modifier le cluster
Pour modifier les paramètres d'intégration de Cloud Logging ou Cloud Monitoring pour un cluster existant, procédez comme suit :
Console
-
Dans la console Cloud Console, accédez à la page des clusters Kubernetes.
Accéder à la page Clusters Kubernetes
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Kubernetes Engine.
Cliquez sur le nom de votre cluster.
Pour modifier les journaux envoyés à Cloud Logging, les métriques envoyées à Cloud Monitoring ou définir si Google Cloud Managed Service pour Prometheus est activé ou non, cliquez sur le bouton Modifier edit situé en regard de Cloud Logging, Cloud Monitoring ou Google Cloud Managed Service pour Prometheus.
Cliquez sur Enregistrer.
gcloud
Les instructions gcloud
suivantes concernent la mise à niveau de la compatibilité des fonctionnalités de surveillance et de journalisation de votre cluster à l'aide de la commande gcloud container clusters update
. Notez que vous utilisez la commande update
, et non la commande upgrade
.
Configurez les journaux envoyés à Cloud Logging en transmettant une liste de valeurs séparées par des virgules à l'option
--logging
de la commandegcloud container clusters update
. Consultez la liste complète des sources de journaux disponibles. Par exemple, pour collecter les journaux système et des charges de travail, transmettez--logging=SYSTEM,WORKLOAD
. Pour ne collecter que les journaux système, transmettez--logging=SYSTEM
. Ou, pour ne collecter aucun journal, transmettez--logging=NONE
:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --logging=NONE
Configurez les métriques envoyées à Cloud Monitoring en transmettant une liste de valeurs séparées par une virgule à l'option
--monitoring
de la commandegcloud container clusters update
. Consultez la liste complète des sources de métriques disponibles. Par exemple, pour collecter les métriques système, transmettez--monitoring=SYSTEM
. Ou, pour ne pas collecter de métriques, transmettez--monitoring=NONE
:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=NONE
Configurez l'activation de Google Cloud Managed Service pour Prometheus à l'aide des options
--enable-managed-prometheus
ou--disable-managed-prometheus
. Par exemple :gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus
Terraform
Pour configurer la collecte de journaux et de métriques à l'aide de Terraform, accédez aux blocs
logging_config
etmonitoring_config
dans le registre Terraform pourgoogle_container_cluster
. L'activation de la collecte de journaux à partir du serveur d'API, du programmeur et du gestionnaire de contrôleurs nécessite le fournisseur Terraform pour Google Cloud version 4.44.0 ou ultérieure.Pour obtenir des informations générales sur l'utilisation de Google Cloud avec Terraform, consultez la page Terraform avec Google Cloud.
Paramètres de configuration obsolètes
Si vous utilisiez auparavant les anciens paramètres de configuration pour configurer la compatibilité de la journalisation et de la surveillance pour votre cluster GKE, ces paramètres sont obsolètes. Le tableau suivant présente les paramètres de configuration équivalents qui remplacent les indicateurs obsolètes.
Ancienne configuration | Anciens arguments create |
Anciens arguments update |
Nouveaux arguments create et update |
---|---|---|---|
Désactivé | --no-enable-stackdriver-kubernetes |
--no-enable-stackdriver-kubernetes |
--logging=NONE --monitoring=NONE |
Surveillance du système uniquement (Logging désactivé) | --enable-stackdriver-kubernetes --no-enable-cloud-logging |
--logging-service=none --monitoring-service=monitoring.googleapis.com/kubernetes |
--logging=NONE --monitoring=SYSTEM |
Journalisation du système et de la charge de travail uniquement (Monitoring désactivé) | --enable-stackdriver-kubernetes --no-enable-cloud-monitoring |
--logging-service=logging.googleapis.com/kubernetes --monitoring-service=none |
--logging=SYSTEM,WORKLOAD --monitoring=NONE |
Journalisation et surveillance du système uniquement (bêta) | --enable-logging-monitoring-system-only |
--enable-logging-monitoring-system-only |
--logging=SYSTEM --monitoring=SYSTEM |
Journalisation et surveillance du système et de la charge de travail | --enable-stackdriver-kubernetes |
--enable-stackdriver-kubernetes |
--logging=SYSTEM,WORKLOAD --monitoring=SYSTEM |
Étapes suivantes
- Pour en savoir plus sur les coûts associés à Cloud Logging, à Cloud Monitoring et à Google Cloud Managed Service pour Prometheus, consultez la page Tarifs.
- Découvrez comment afficher vos journaux GKE dans Cloud Logging.