Auf dieser Seite wird beschrieben, wie Sie Benachrichtigungsrichtlinien für lokale GKE-Cluster erstellen.
Hinweis
Sie benötigen die folgenden Berechtigungen, um Benachrichtigungsrichtlinien zu erstellen:
- monitoring.alertPolicies.create
- monitoring.alertPolicies.delete
- monitoring.alertPolicies.update
Sie haben diese Berechtigungen, wenn Sie eine der folgenden Rollen haben:
- monitoring.alertPolicyEditor
- monitoring.editor
- Projektbearbeiter
- Projektinhaber
Rufen Sie die IAM-Seite in der Google Cloud Console auf, um Ihre Rollen zu prüfen.
Richtlinie erstellen: API-Server für Administratorcluster ausgefallen
In dieser Übung erstellen Sie eine Benachrichtigungsrichtlinie für Kubernetes API-Server von Administratorclustern. Mit dieser Richtlinie können Sie festlegen, dass Sie benachrichtigt werden, wenn der API-Server eines Administratorclusters ausfällt.
Laden Sie die Richtlinienkonfigurationsdatei herunter: admin-cluster-apiserver-down.json.
Erstellen Sie die Richtlinie:
gcloud alpha monitoring policies create --policy-from-file=POLICY_CONFIG
Ersetzen Sie POLICY_CONFIG durch den Pfad der soeben heruntergeladenen Konfigurationsdatei.
Rufen Sie die Benachrichtigungsrichtlinien auf:
Console
Rufen Sie in der Google Cloud Console die Seite Monitoring auf.
Wählen Sie links Benachrichtigungen aus.
Unter Richtlinien finden Sie eine Liste Ihrer Benachrichtigungsrichtlinien.
Wählen Sie aus der Liste den API-Server für GKE On-Prem-Administratorcluster ausgefallen (kritisch) aus, um Details zu Ihrer neuen Richtlinie aufzurufen. Unter Bedingungen finden Sie eine Beschreibung der Richtlinie. Beispiel:
Policy violates when ANY condition is met Anthos On-Prem Admin Cluster API Server is up Violates when: Any kubernetes.io/anthos/up stream is absent for greater than 5 minutes
gcloud
gcloud alpha monitoring policies list
Die Ausgabe enthält detaillierte Informationen zur Richtlinie. Beispiel:
combiner: OR conditions: – conditionAbsent: aggregations: - alignmentPeriod: 60s crossSeriesReducer: REDUCE_SUM groupByFields: - resource.label.project_id - resource.label.location - resource.label.cluster_name perSeriesAligner: ALIGN_MEAN duration: 300s filter: resource.type="k8s_container" AND metric.type="kubernetes.io/anthos/up" AND resource.label."container_name"=monitoring.regex.full_match("kube-apiserver") trigger: count: 1 ... displayName: GKE on-prem admin cluster API server down (critical) enabled: true ... name: projects/xxxxxx/alertPolicies/12331540576820203183
Zusätzliche Benachrichtigungsrichtlinien erstellen
Dieser Abschnitt enthält Beschreibungen und Konfigurationsdateien für eine Reihe empfohlener Benachrichtigungsrichtlinien.
Führen Sie die gleichen Schritte aus, die Sie in der vorherigen Anleitung verwendet haben, um eine Richtlinie zu erstellen:
Klicken Sie auf den Link in der rechten Spalte, um die Konfigurationsdatei herunterzuladen.
Führen Sie
gcloud alpha monitoring policies create
aus, um die Richtlinie zu erstellen.
Verfügbarkeit der Komponenten der Steuerungsebene für Administratorcluster
Name der Benachrichtigung | Beschreibung | Benachrichtigungsrichtlinie in Cloud Monitoring definieren |
---|---|---|
API-Server für GKE On-Prem-Administratorcluster ausgefallen (kritisch) | API-Server für Administratorcluster ist nicht mehr für die Messwerterkennung verfügbar | admin-cluster-apiserver-down.json |
Planer für GKE On-Prem-Administratorcluster ausgefallen (kritisch) | Der Planer für Administratorcluster ist nicht mehr für die Messwerterkennung verfügbar | admin-cluster-scheduler-down.json |
Controller-Manager für GKE On-Prem-Administratorcluster ausgefallen (kritisch) | Controller-Manager für Administratorcluster ist nicht mehr für die Messwerterkennung verfügbar | admin-cluster-controller-manager-down.json |
Controller-Manager für GKE On-Prem-Administratorcluster ausgefallen (kritisch) | Controller-Manager für Administratorcluster ist nicht mehr für die Messwerterkennung verfügbar | admin-cluster-etcd-down.json |
Verfügbarkeit der Komponenten der Steuerungsebene für Nutzercluster
Die Warnungen auf der Steuerungsebene des Nutzerclusters basieren auf Messwerten. Bei den meisten Clustermesswerten ist das Feld cluster_name
der Name des Clusters selbst. Bei Messwerten der Nutzercluster-Steuerungsebene ist jedoch das Feld cluster_name
der Name des Administratorclusters und das Feld namespace_name
der Name des Nutzerclusters.
Dies finden Sie in einem Screenshot unter Dashboard für den Status der Steuerungsebene erstellen.
Name der Benachrichtigung | Beschreibung | Benachrichtigungsrichtlinie in Cloud Monitoring definieren | |
---|---|---|---|
API-Server für GKE On-Prem-Nutzercluster ausgefallen (kritisch) | API-Server für Nutzercluster ist nicht mehr für die Messwerterkennung verfügbar | user-cluster-apiserver-down.json | |
Planer für GKE On-Prem-Nutzercluster ausgefallen (kritisch) | Der Planer für Nutzercluster ist nicht mehr für die Messwerterkennung verfügbar | user-cluster-scheduler-down.json | |
Controller-Manager für GKE On-Prem-Nutzercluster ausgefallen (kritisch) | Controller-Manager für Nutzercluster ist nicht mehr für die Messwerterkennung verfügbar | user-cluster-controller-manager-down.json | |
GKE On-Prem-Nutzercluster etcd ausgefallen (kritisch) | Nutzercluster etcd ist nicht mehr für die Messwerterkennung verfügbar | user-cluster-etcd-down.json |
Kubernetes-System
Name der Benachrichtigung | Beschreibung | Benachrichtigungsrichtlinie in Cloud Monitoring definieren |
---|---|---|
GKE On-Prem-Pod-Absturzschleife (kritisch) | Pod befindet sich in einer Absturzschleife | pod-crash-looping.json |
GKE On-Prem-Pod seit mehr als einer Stunde nicht bereit (kritisch) | Pod ist seit mehr als einer Stunde nicht einsatzbereit | pod-not-ready-1h.json |
Hohe Auslastung von GKE On-Prem nichtflüchtigen Volumes (kritisch) | Es wird erwartet, dass das nichtflüchtige Volume voll sein wird | persistent-volume-usage-high.json |
GKE On-Prem-Knoten seit mehr als einer Stunde nicht bereit (kritisch) | Knoten ist seit mehr als einer Stunde nicht einsatzbereit | node-not-ready-1h.json |
Kubernetes-Leistung
Name der Benachrichtigung | Beschreibung | Benachrichtigungsrichtlinie in Cloud Monitoring definieren |
---|---|---|
Fehlerrate der GKE On-Prem-Administratorcluster-API überschreitet 10 % (kritisch) | API-Server des Administratorclusters gibt bei mehr als 10 % der Anfragen Fehler zurück | admin-cluster-apiserver-error-ratio-10-percent.json |
Fehlerrate der GKE On-Prem-Administratorcluster-API überschreitet 5 % (Warnung) | API-Server des Administratorclusters gibt bei mehr als 5 % der Anfragen Fehler zurück | admin-cluster-apiserver-error-ratio-5-percent.json |
Fehlerrate der GKE On-Prem-Nutzercluster-API überschreitet 10 % (kritisch) | API-Server des Nutzerclusters gibt bei mehr als 10 % der Anfragen Fehler zurück | user-cluster-apiserver-error-ratio-10-percent.json |
Fehlerrate der GKE On-Prem-Nutzercluster-API überschreitet 5 % (Warnung) | API-Server des Nutzerclusters gibt bei mehr als 5 % der Anfragen Fehler zurück | user-cluster-apiserver-error-ratio-5-percent.json |
Benachrichtigungen erhalten
Nachdem Sie eine Benachrichtigungsrichtlinie erstellt haben, können Sie einen oder mehrere Benachrichtigungskanäle für die Richtlinie definieren. Es gibt verschiedene Arten von Benachrichtigungskanälen. Beispielsweise können Sie sich per E-Mail, mit einem Slack-Kanal oder mit einer mobilen App benachrichtigen lassen. Sie können die Kanäle auswählen, die Ihren Anforderungen entsprechen.
Eine Anleitung zum Konfigurieren von Benachrichtigungskanälen finden Sie unter Benachrichtigungskanäle verwalten.