Cloud Logging
Ce document explique comment GKE sur Azure s'intègre à Cloud Logging et comment accéder à vos journaux.
Présentation
GKE sur Azure est compatible avec Cloud Logging pour les charges de travail et les composants système exécutés sur le plan de contrôle et les nœuds de pool de nœuds.
GKE sur Azure inclut un agent de journalisation basé sur Fluentbit. Sur les nœuds du plan de contrôle, l'agent de journalisation s'exécute en tant que composant système. Sur les nœuds du pool de nœuds, il s'exécute en tant que Daemonset. Les données collectées par les agents Logging peuvent être gérées et supprimées comme n'importe quelle autre métrique ou n'importe quel élément de données de journal, comme décrit dans la documentation de Cloud Logging.
Quelles sont les données recueillies ?
GKE sur Azure journalise les informations suivantes :
- Les journaux des composants système sur chacune des instances dupliquées du plan de contrôle.
- Les journaux des services système sur chacun des nœuds du pool de nœuds.
- Les journaux des charges de travail (facultatif).
Activer la journalisation de la charge de travail
Pour activer la journalisation des charges de travail, vous devez créer un cluster Kubernetes en utilisant la version 1.22 ou une version ultérieure.
Par défaut, lorsque vous créez un cluster GKE sur Azure, la journalisation du système est activée. Pour activer la journalisation de la charge de travail, vous devez créer un cluster avec l'indicateur --logging
. Vous pouvez choisir d'activer la journalisation pour les composants système, les charges de travail, ou les deux.
Par exemple, pour activer la journalisation du système et de la charge de travail sur un nouveau cluster, suivez les instructions pour créer un cluster, mais incluez l'indicateur --logging
dans votre commande gcloud
:
gcloud container azure clusters create CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
Sinon, suivez les instructions pour mettre à jour un cluster existant :
gcloud container azure clusters update CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
Accéder à vos journaux
Vous pouvez accéder à vos journaux GKE sur Azure dans Cloud Logging de plusieurs façons :
Explorateur de journaux : vous pouvez afficher vos journaux directement à partir de l'explorateur de journaux en utilisant les filtres de journalisation pour sélectionner les ressources Kubernetes telles que le cluster, le nœud, l'espace de noms, le pod ou le conteneur.
Google Cloud CLI : à l'aide de la commande
gcloud logging read
, sélectionnez les journaux de cluster, de nœud, de pod et de conteneur appropriés.
Comprendre vos journaux
Un journal Cloud Logging est un ensemble d'entrées de journal. Chaque entrée de journal s'applique à un certain type de ressource de journalisation.
Types de ressources
Voici les types de ressources propres à GKE sur Azure :
Type de ressource | Nom à afficher |
---|---|
k8s_control_plane_component |
Journaux des composants du plan de contrôle |
k8s_node |
Journaux des pools de nœuds |
k8s_container |
Journaux des conteneurs de charge de travail |
Lorsque GKE sur Azure écrit les journaux de votre cluster, chaque entrée de journal inclut le type de ressource. Comprendre où les journaux apparaissent permet de les retrouver plus facilement lorsque vous en avez besoin.
Journaux du plan de contrôle
Les journaux du plan de contrôle utilisent le type de ressource k8s_control_plane_component
. Il s'agit, entre autres, des journaux des composants système exécutés sur les instances dupliquées du plan de contrôle, tels que kube-apiserver
.
Journaux de nœuds
Les journaux de nœuds appartiennent au type de ressource k8s_node
. Il s'agit, entre autres, des journaux des composants système critiques exécutés sur les nœuds de calcul, tels que kubelet
et containerd
.
Journaux d'applications système
Les journaux des applications système appartiennent au type de ressource k8s_container
. Il s'agit, entre autres, des journaux des pods installés sur les nœuds de calcul par GKE sur Azure.
Plus précisément, les conteneurs s'exécutant dans les espaces de noms suivants sont inclus :
kube-system
gke-connect
gke-system
gmp-system
asm-user-auth
cnrm-system
config-management-system
gatekeeper-system
gmp-public
istio-system
knative-serving
Rechercher des journaux dans l'interface utilisateur de Cloud Logging
Vous pouvez afficher vos journaux à l'aide de l'explorateur de journaux de l'interface utilisateur de Cloud Logging.
Explorateur de journaux
À l'aide du générateur de requêtes, vous pouvez créer une requête en ajoutant manuellement des paramètres de requête. Par exemple, si vous souhaitez explorer les journaux des charges de travail du système, vous pouvez commencer par sélectionner ou rechercher le type de ressource k8s_container
, puis sélectionner l'emplacement et le nom du cluster. Vous pouvez ensuite affiner votre recherche en filtrant les noms des conteneurs ou des pods.
L'explorateur de journaux constitue un moyen supplémentaire de créer des requêtes de recherche à l'aide de l'explorateur de champs de journaux. Celui-ci indique le nombre d'entrées de journal, triées par nombre décroissant, pour le champ de journal donné. L'explorateur de champs de journaux est particulièrement utile pour les journaux GKE sur Azure, car il permet de sélectionner facilement les valeurs Kubernetes de vos ressources. Par exemple, vous pouvez sélectionner les journaux pour un cluster, un espace de noms, un nom de pod et un nom de conteneur spécifiques.
Pour en savoir plus, consultez la page Utiliser l'explorateur de journaux.
Exemples de requêtes
Cette section inclut des exemples de requêtes que vous pouvez effectuer dans l'explorateur de journaux.
Exemple 1 : Obtenir les journaux de kube-apiserver
sur les nœuds du plan de contrôle pour un cluster Azure CLUSTER_NAME :
resource.type="k8s_control_plane_component"
resource.labels.cluster_name="azureClusters/CLUSTER_NAME"
resource.labels.component_name="apiserver"
Exemple 2 : Obtenir les journaux de kubelet
sur les nœuds de calcul pour un cluster Azure CLUSTER_NAME :
resource.type="k8s_node"
resource.labels.cluster_name="azureClusters/CLUSTER_NAME"
log_name="projects/PROJECT_ID/logs/kubelet"
Exemple 3 : Obtenir les journaux du conteneur cilium-agent
pour un cluster Azure CLUSTER_NAME :
resource.type="k8s_container"
resource.labels.cluster_name="azureClusters/CLUSTER_NAME"
resource.labels.container_name="cilium-agent"
Étapes suivantes
- Présentation de Cloud Logging
- Utiliser l'explorateur de journaux
- Créer des requêtes pour Cloud Logging
- Créer des métriques basées sur les journaux