In diesem Dokument wird beschrieben, wie sich GKE on AWS in Cloud Logging einbinden lässt. Außerdem erfahren Sie, wie Sie auf Ihre Logs zugreifen können.
Überblick
GKE on AWS unterstützt Cloud Logging für Arbeitslasten und für Systemkomponenten, die auf Knoten der Steuerungsebene und Knotenpools ausgeführt werden.
GKE on AWS enthält einen Fluentbit-basierten Logging-Agent. Auf den Knoten der Steuerungsebene wird der Logging-Agent als Systemkomponente ausgeführt. auf den Knotenpoolknoten wird es als Daemonset ausgeführt. Von den Logging-Agents erfasste Daten können wie alle anderen Messwert- und Logdaten verwaltet und gelöscht werden, wie in der Cloud Logging-Dokumentation beschrieben.
Welche Daten werden erhoben?
GKE on AWS protokolliert die folgenden Informationen:
- Logs für Systemkomponenten zu jedem Replikat der Steuerungsebene.
- Logs für Systemdienste auf jedem Knotenpoolknoten.
- Optional: Logs für Arbeitslasten
Arbeitslast-Logging aktivieren
Zum Aktivieren des Arbeitslast-Loggings müssen Sie einen neuen Kubernetes-Cluster mit Version 1.22 oder höher erstellen.
Wenn Sie einen Cluster erstellen, aktiviert GKE on AWS standardmäßig das System-Logging. Zum Aktivieren des Arbeitslast-Loggings müssen Sie einen Cluster mit dem Flag --logging
erstellen. Sie können das Logging für Systemkomponenten, Arbeitslasten oder beides aktivieren.
Wenn Sie beispielsweise sowohl das System- als auch das Arbeitslast-Logging für einen neuen Cluster aktivieren möchten, folgen Sie der Anleitung zum Erstellen eines Clusters, fügen Sie jedoch das Flag --logging
in den Befehl gcloud
ein:
gcloud container aws clusters create CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
oder einen vorhandenen Cluster aktualisieren:
gcloud container aws clusters update CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
Auf Logs zugreifen
Es gibt mehrere Möglichkeiten, in Cloud Logging auf GKE on AWS-Logs zuzugreifen:
Log-Explorer: Sie können Ihre Logs direkt über den Log-Explorer aufrufen, indem Sie per Logging-Filter die Kubernetes-Ressourcen auswählen, z. B. Cluster-, Knoten-, Namespace-, Pod- oder Container-Logs.
Google Cloud CLI: Wählen Sie mit dem Befehl
gcloud logging read
die entsprechenden Cluster-, Knoten-, Pod- und Containerlogs aus.
Informationen zu Logs
Ein Log in Cloud Logging ist eine Sammlung von Logeinträgen. Jeder Logeintrag bezieht sich auf einen bestimmten Typ von Logging-Ressourcen.
Ressourcentypen
Dies sind die Ressourcentypen, die für GKE on AWS spezifisch sind:
Ressourcentyp | Anzeigename |
---|---|
k8s_control_plane_component |
Logs der Komponente der Steuerungsebene |
k8s_node |
Knotenpoollogs |
k8s_container |
Arbeitslastcontainerlogs |
Wenn GKE on AWS die Logs Ihres Clusters schreibt, enthält jeder Logeintrag den Ressourcentyp. Wenn Sie wissen, wo Logs zu finden sind, können Sie diese bei Bedarf einfacher ermitteln.
Logs der Steuerungsebene
Logs der Steuerungsebene verwenden den Ressourcentyp k8s_control_plane_component
. Dazu gehören Logs von Systemkomponenten, die auf Replikaten der Steuerungsebene ausgeführt werden, z. B. kube-apiserver
.
Knotenlogs
Knotenlogs fallen unter den Ressourcentyp k8s_node
. Dazu gehören Logs von wichtiger Systemkomponente, die auf den Worker-Knoten ausgeführt wird, z. B. kubelet
und containerd
.
Logs von Systemanwendungen
Logs von Systemanwendungen fallen unter den Ressourcentyp k8s_container
. Dazu gehören Logs von Pods, die von GKE on AWS auf den Worker-Knoten installiert wurden.
Insbesondere sind Container enthalten, die in den folgenden Namespaces ausgeführt werden:
kube-system
gke-connect
gke-system
gmp-system
asm-user-auth
cnrm-system
config-management-system
gatekeeper-system
gmp-public
istio-system
knative-serving
Logs in der Cloud Logging-Benutzeroberfläche suchen
Sie können Ihre Logs in der Cloud Logging-Benutzeroberfläche mit dem Log-Explorer aufrufen.
Log-Explorer
Query Builder bietet die Möglichkeit, eine Abfrage zu erstellen und manuell Abfrageparameter hinzuzufügen. Wenn Sie beispielsweise Logs für Systemarbeitslasten untersuchen möchten, können Sie als Erstes den Ressourcentyp k8s_container
auswählen oder danach suchen und dann den Standort sowie den Clusternamen auswählen. Anschließend haben Sie die Möglichkeit, Ihre Suche zu verfeinern und dafür die Container- oder Pod-Namen zu filtern.
Mit dem Log-Explorer können Sie Ihre Suchanfragen mit dem Log-Feld-Explorer erstellen. Darin wird die Anzahl der Logeinträge für das angegebene Logfeld abnehmend sortiert angezeigt. Der Logfeld-Explorer ist besonders nützlich für GKE on AWS-Logs, da Sie dort die Kubernetes-Werte für Ihre Ressourcen einfach auswählen können. Sie können beispielsweise Logs für einen bestimmten Cluster, Namespace, Pod-Namen und Containernamen auswählen.
Weitere Informationen finden Sie unter Log-Explorer verwenden.
Beispielabfragen
Dieser Abschnitt enthält Beispielabfragen, die Sie im Log-Explorer ausführen können.
Beispiel 1: Rufen Sie die Logs von kube-apiserver
auf Knoten der Steuerungsebene für einen AWS-Cluster CLUSTER_NAME ab:
resource.type="k8s_control_plane_component"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.component_name="apiserver"
Beispiel 2: Rufen Sie die Logs von kubelet
auf Worker-Knoten für einen AWS-Cluster CLUSTER_NAME ab:
resource.type="k8s_node"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
log_name="projects/PROJECT_ID/logs/kubelet"
Beispiel 3: Rufen Sie die Logs des Containers cilium-agent
für einen AWS-Cluster CLUSTER_NAME ab:
resource.type="k8s_container"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.container_name="cilium-agent"
Nächste Schritte
- Cloud Logging – Übersicht
- Logs-Explorer verwenden
- Abfragen für Cloud Logging erstellen
- Logbasierte Messwerte erstellen