Das Kubelet stellt Messwerte über sich selbst und cAdvisor-Messwerte zu Containern bereit, die auf seinem Knoten ausgeführt werden.
Alternativ zur Konfiguration dieser Integration bietet Cloud Monitoring eine sofort verwaltete Sammlung von cAdvisor/Kubelet-Messwerten. Die Option zur vollständig verwalteten Erfassung bietet einen speziellen, ausgewählten Satz von Messwerten, die standardmäßig in neuen Clustern eingerichtet werden.
Die in diesem Dokument beschriebene Integration bietet alle cAdvisor-Messwerte, von denen viele Sie wahrscheinlich nicht benötigen und wahrscheinlich herausfiltern möchten. Sie ist für Google Kubernetes Engine und andere Kubernetes-Umgebungen verfügbar. Die verwalteten cAdvisor-/Kubelet-Messwerte wurden so ausgewählt, dass sie nur die nützlichsten Messwerte liefern und nur für GKE verfügbar sind. Weitere Informationen finden Sie unter Paket: cAdvisor-/Kubelet-Messwerte.
Wenn Sie die Erfassung von cAdvisor-Messwerten wie in diesem Dokument beschrieben einrichten, ersetzt die Konfiguration die von GKE verwaltete cAdvisor-Konfiguration. Die in diesem Dokument beschriebene Konfiguration aktiviert eine Obermenge der verwalteten cAdvisor-Messwerte.
Wenn Sie den in diesem Dokument beschriebenen Ansatz verwenden, können Sie anstelle einer benutzerdefinierten PodMonitoring-Konfiguration die Verwaltete Erfassung so konfigurieren, dass cAdvisor- und Kubelet-Messwerte automatisch extrahiert werden, indem Sie die OperatorConfig bearbeiten.
Sie können Manifeste installieren, indem Sie sie in eine lokale Datei kopieren und dann kubectl apply -f FILE_NAME
ausführen.
Sie können auch Manifeste mit Terraform installieren.
Öffnen Sie die OperatorConfig-Ressource zum Bearbeiten:
kubectl -n gmp-public edit operatorconfig config
Fügen Sie der Ressource den folgenden
collection
-Bereich (in Fettschrift) hinzu:apiVersion: monitoring.googleapis.com/v1 kind: OperatorConfig metadata: namespace: gmp-public name: config collection: kubeletScraping: interval: 30s
Speichern Sie die Datei und schließen Sie den Editor.
Nach kurzer Zeit werden die Messwerte der Kubelet-Endpunkte gescraped und die Messwerte stehen für die Abfrage im Verwalteten Dienst für Prometheus zur Verfügung.
Kubelet-Extraktionen enthalten einige Standardfilter und Sie können dem Abschnitt collection
der OperatorConfig-Ressource zusätzliche Filter hinzufügen, wie unten dargestellt. Der Konfigurationsabschnitt filter.matchOneOf
hat die gleiche Semantik wie die match[]
-Parameter für die Prometheus-Föderation.
Im folgenden Beispiel werden Messwerte herausgefiltert, die mit container_foo
oder container_bar
beginnen:
collection: filter: matchOneOf: - '{__name__!~"container_foo.*|container_bar.*"}'
Sie können diesen OperatorConfig-Sammlungsfilter auch zu Debugging-Zwecken verwenden. Sie haben beispielsweise die Möglichkeit, die Erfassung eines bestimmten Messwerts im Cluster vorübergehend zu deaktivieren, ohne PodMonitoring-Ressourcen zu ändern.
Tipps für erweiterte cAdvisor-Einrichtungen
Wenn Sie cAdvisor selbst bereitstellen oder Ihrem CAdvisorlet eine erweiterte Konfiguration bereitstellen, können Sie mit den erweiterten cAdvisor-Einstellungen zusätzliche Labels anhängen.
Vermeiden Sie vor allem das Anhängen von Kubernetes-Containerlabels oder Umgebungsvariablen an Ihre Messwerte. In diesem Fall sollten Sie diese Labels streng steuern. Verwenden Sie dazu ein Muster für eine Zulassungsliste (z. B. die Verwendung des PodMonitoring metricRelabeling
-Abschnitts).
Wenn Sie die Anzahl der Labels steuern, die den Messwerten hinzugefügt werden, können Sie das Limit für die Anzahl der Labels überschreiten.