In diesem Thema wird die Bereitstellung von Prometheus in einem Arbeitslastcluster erläutert. Die folgenden Verfahren gelten für vSphere-, AWS- (Amazon Web Services) und Azure-Bereitstellungen.
Bei Prometheus handelt es sich um ein Open Source-Toolkit für Systemüberwachung und -warnungen. Tanzu Kubernetes Grid enthält signierte Binärdateien für Prometheus, die Sie in Arbeitslastclustern zur Überwachung der Clusterintegrität und der Dienste bereitstellen können.
kubectl
wie unter Installieren der Tanzu CLI und anderen Tools zur Verwendung mit vSphere with Tanzu Supervisor oder Installieren der Tanzu CLI und anderer Tools zur Verwendung mit eigenständigen Verwaltungsclustern.cert-manager
- und contour
-Pakete installieren.WichtigDie Unterstützung für IPv6-Adressen in Tanzu Kubernetes Grid ist begrenzt. Weitere Informationen finden Sie unter Bereitstellen von Clustern auf IPv6 (nur vSphere). Wenn die Bereitstellung nicht für eine auf IPv6 beschränkte Netzwerkumgebung vorgesehen ist, müssen Sie IPv4-Adressen mithilfe der folgenden Schritte angeben.
So bereiten Sie den Cluster vor:
Rufen Sie die Admin-Anmeldedaten des Arbeitslastclusters ab, in dem Sie Prometheus bereitstellen möchten. Beispiel:
tanzu cluster kubeconfig get my-cluster --admin
Legen Sie den Kontext von kubectl auf den Cluster fest. Beispiel:
kubectl config use-context my-cluster-admin@my-cluster
(Optional) Aktivieren von Ingress für Prometheus
Zum Aktivieren von Ingress können Sie die folgenden optionalen Pakete installieren:
Fahren Sie unten mit der Bereitstellung von Prometheus im Arbeitslastcluster fort.
So installieren Sie Prometheus:
Wenn das standard
-Paket-Repository noch nicht auf dem Cluster installiert ist, installieren Sie es:
HinweisWenn Sie einen planbasierten Cluster (Legacy) als Ziel verwenden, überspringen Sie diesen Schritt. Für planbasierte Cluster wird das
tanzu-standard
-Paket-Repository automatisch in jedem Cluster im Namespacetanzu-package-repo-global
aktiviert.
tanzu package repository add tanzu-standard --url PACKAGE-REPOSITORY-ENDPOINT --namespace tkg-system
Dabei ist PACKAGE-REPOSITORY-ENDPOINT
die URL des Paket-Repositorys standard
. Für diese Version lautet die URL projects.registry.vmware.com/tkg/packages/standard/repo:v2.1.1
.
Informationen zum Abrufen dieses Werts über die Tanzu CLI finden Sie unter Listen von Paketrepositorys oder in Tanzu Mission Control in der Liste Add-Ons (Addons) > Repositorys (Repositories) im Fensterbereich Cluster.
Bestätigen Sie, dass das Prometheus-Paket in Ihrem Arbeitslastcluster verfügbar ist:
tanzu package available list -A
Rufen Sie die Version des verfügbaren Pakets ab:
tanzu package available list prometheus.tanzu.vmware.com -A
| Retrieving package versions for prometheus.tanzu.vmware.com...
NAME VERSION RELEASED-AT NAMESPACE
prometheus.tanzu.vmware.com 2.27.0+vmware.1-tkg.1 2020-11-24T18:00:00Z tanzu-package-repo-global
Bei der Bereitstellung von Prometheus können Sie folgende Aufgaben durchführen:
vSphere with Tanzu: Um das Prometheus-Paket in einem Arbeitslastcluster bereitzustellen, der von einem vSphere Supervisor Cluster erstellt wurde, müssen Sie es mit benutzerdefinierten Werten bereitstellen. Das Prometheus-Paket wurde für Arbeitslastcluster unter vSphere 7.0 U3 nicht validiert.
Nachdem Sie die Paketversion bestätigt und abgerufen haben, können Sie das Paket installieren.
Installieren Sie das Prometheus-Paket mit den zugehörigen Standardwerten:
tanzu package install prometheus \
--package prometheus.tanzu.vmware.com \
--version AVAILABLE-PACKAGE-VERSION \
--namespace TARGET-NAMESPACE
Dabei gilt:
TARGET-NAMESPACE
ist der Namespace, in dem das Prometheus-Paket installiert werden soll. Beispielsweise der Namespace my-packages
oder tanzu-cli-managed-packages
.
--namespace
nicht angegeben ist, verwendet die Tanzu CLI den Namespace default
. Die Prometheus-Pods und alle anderen mit der Prometheus-Komponente verknüpften Ressourcen werden im Namespace tanzu-system-monitoring
erstellt. Installieren Sie das Prometheus-Paket nicht in diesem Namespace.kubectl create namespace my-packages
.AVAILABLE-PACKAGE-VERSION
ist die Version, die Sie oben abgerufen haben, z. B. 2.27.0+vmware.1-tkg.1
.
Beispiel:
tanzu package install prometheus --package prometheus.tanzu.vmware.com --namespace my-packages --version 2.27.0+vmware.1-tkg.1
\ Installing package 'prometheus.tanzu.vmware.com'
| Getting package metadata for 'prometheus.tanzu.vmware.com'
| Creating service account 'prometheus-my-packages-sa'
| Creating cluster admin role 'prometheus-my-packages-cluster-role'
| Creating cluster role binding 'prometheus-my-packages-cluster-rolebinding'
- Creating package resource
\ Package install status: Reconciling
Added installed package 'prometheus' in namespace 'my-packages'
vSphere with Tanzu: Bei vSphere 8 und vSphere 7.0 U2 mit aktivierter vSphere with Tanzu-Funktion gibt der Befehl tanzu package install prometheus
möglicherweise den Fehler Failed to get final advertise address: No private IP address found, and explicit IP not provided
zurück.
Um diesen Fehler zu beheben, erstellen Sie ein Paket-Overlay und wenden Sie es an, um die Komponente alertmanager
neu zu konfigurieren:
Erstellen Sie die Datei overlay-alertmanager.yaml
mit:
---
#@ load("@ytt:overlay", "overlay")
#@overlay/match by=overlay.and_op(overlay.subset({"kind": "Deployment"}), overlay.subset({"metadata": {"name": "alertmanager"}}))
---
spec:
template:
spec:
containers:
#@overlay/match by="name",expects="0+"
- name: alertmanager
args:
- --cluster.listen-address=
Erstellen Sie einen geheimen Schlüssel aus dem Overlay:
kubectl create secret generic alertmanager-overlay -n tanzu-package-repo-global -o yaml --dry-run=client --from-file=overlay-alertmanager.yaml | kubectl apply -f -
Versehen Sie das Paket mit dem geheimen Schlüssel:
kubectl annotate PackageInstall prometheus -n tanzu-package-repo-global ext.packaging.carvel.dev/ytt-paths-from-secret-name.1=alertmanager-overlay
Fahren Sie unten mit dem Überprüfen der Prometheus-Bereitstellungfort.
So installieren Sie das Prometheus-Paket mit vom Benutzer bereitgestellten Werten:
Erstellen Sie eine Konfigurationsdatei. Anhand dieser Datei wird das Prometheus-Paket konfiguriert.
tanzu package available get prometheus.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
Dabei ist PACKAGE-VERSION
die Version des Prometheus-Pakets, das Sie installieren möchten, und FILE-PATH
der Speicherort, an dem Sie die Konfigurationsdatei speichern möchten, z. B. prometheus-data-values.yaml
. Mit dem obigen Befehl wird eine Konfigurationsdatei mit dem Namen prometheus-data-values.yaml
erstellt, die die Standardwerte enthält. Beachten Sie, dass diese Datei in den vorherigen Versionen als prometheus-data-values.yaml
bezeichnet wurde.
Informationen zu Konfigurationsparametern, die in prometheus-data-values.yaml
verwendet werden sollen, finden Sie nachfolgend unter Konfigurationsparameter des Prometheus-Pakets.
vSphere with Tanzu: Wenn Sie Prometheus in einem Arbeitslastcluster bereitstellen, der von einem vSphere Supervisor-Cluster erstellt wurde, legen Sie einen Wert ungleich null für prometheus.pvc.storageClassName
und alertmanager.pvc.storageClassName
in der Datei prometheus-data-values.yaml
fest:
ingress:
enabled: true
virtual_host_fqdn: "prometheus.corp.tanzu"
prometheus_prefix: "/"
alertmanager_prefix: "/alertmanager/"
prometheusServicePort: 80
alertmanagerServicePort: 80
prometheus:
pvc:
storageClassName: STORAGE-CLASS
alertmanager:
pvc:
storageClassName: STORAGE-CLASS
Dabei gilt: STORAGE-CLASS
ist der Name der Speicherklasse des Clusters, wie von kubectl get storageclass
zurückgegeben.
Nachdem Sie notwendige Änderungen an der Datei prometheus-data-values.yaml
vorgenommen haben, entfernen Sie alle enthaltenen Kommentare:
yq -i eval '... comments=""' prometheus-data-values.yaml
Stellen Sie das Paket bereit:
tanzu package install prometheus \
--package prometheus.tanzu.vmware.com \
--version PACKAGE-VERSION \
--values-file prometheus-data-values.yaml \
--namespace TARGET-NAMESPACE
Dabei gilt:
TARGET-NAMESPACE
ist der Namespace, in dem Sie das Prometheus-Paket, die Prometheus-Paket-App und alle anderen Kubernetes-Ressourcen installieren möchten, die das Paket beschreiben. Beispielsweise der Namespace my-packages
oder tanzu-cli-managed-packages
. Wenn das Flag --namespace
nicht angegeben ist, verwendet die Tanzu CLI den Namespace default
. Die Prometheus-Pods und alle anderen mit der Prometheus-Komponente verknüpften Ressourcen werden im Namespace tanzu-system-monitoring
erstellt. Installieren Sie das Prometheus-Paket nicht in diesem Namespace.PACKAGE-VERSION
ist die Version, die Sie oben abgerufen haben, z. B. 2.27.0+vmware.1-tkg.1
.Fahren Sie unten mit dem Überprüfen der Prometheus-Bereitstellungfort.
Nach der Bereitstellung von Prometheus können Sie überprüfen, ob die Bereitstellung erfolgreich durchgeführt wurde:
Bestätigen Sie, dass das Prometheus-Paket installiert wurde. Beispiel:
tanzu package installed list -A
/ Retrieving installed packages...
NAME PACKAGE-NAME PACKAGE-VERSION STATUS NAMESPACE
cert-manager cert-manager.tanzu.vmware.com 1.1.0+vmware.1-tkg.2 Reconcile succeeded my-packages
prometheus prometheus.tanzu.vmware.com 2.27.0+vmware.1-tkg.1 Reconcile succeeded my-packages
antrea antrea.tanzu.vmware.com Reconcile succeeded tkg-system
metrics-server metrics-server.tanzu.vmware.com Reconcile succeeded tkg-system
vsphere-cpi vsphere-cpi.tanzu.vmware.com Reconcile succeeded tkg-system
vsphere-csi vsphere-csi.tanzu.vmware.com Reconcile succeeded tkg-system
Das prometheus
-Paket und die prometheus
-App werden in dem Namespace installiert, den Sie beim Ausführen des Befehls tanzu package install
angeben.
Bestätigen Sie, dass die prometheus
-App erfolgreich abgeglichen wurde:
kubectl get apps -A
Beispiel:
NAMESPACE NAME DESCRIPTION SINCE-DEPLOY AGE
my-packages cert-manager Reconcile succeeded 74s 29m
my-packages prometheus Reconcile succeeded 20s 33m
tkg-system antrea Reconcile succeeded 70s 3h43m
[...]
Lautet der Status nicht Reconcile succeeded
, zeigen Sie die vollständigen Statusdetails der App prometheus
an. Die Anzeige des vollständigen Status kann Sie bei der Behebung des Problems unterstützen:
kubectl get app prometheus --namespace PACKAGE-NAMESPACE -o yaml
Dabei gilt: PACKAGE-NAMESPACE
ist der Namespace, in dem Sie das Paket installiert haben.
Bestätigen Sie, dass die neuen Dienste ausgeführt werden, indem Sie alle im Cluster ausgeführten Pods auflisten.
kubectl get pods -A
Im Namespace tanzu-system-monitoring
sollten die in einem Pod ausgeführten Dienste prometheus
, alertmanager
, node_exporter
, pushgateway
, cadvisor
und kube_state_metrics
angezeigt werden:
NAMESPACE NAME READY STATUS RESTARTS AGE
[...]
tanzu-system-monitoring alertmanager-d6bb4d94d-7fgmb 1/1 Running 0 35m
tanzu-system-monitoring prometheus-cadvisor-pgfck 1/1 Running 0 35m
tanzu-system-monitoring prometheus-kube-state-metrics-868b5b749d-9w5f2 1/1 Running 0 35m
tanzu-system-monitoring prometheus-node-exporter-97x6c 1/1 Running 0 35m
tanzu-system-monitoring prometheus-node-exporter-dnrkk 1/1 Running 0 35m
tanzu-system-monitoring prometheus-pushgateway-84cc9b85c6-tgmv6 1/1 Running 0 35m
tanzu-system-monitoring prometheus-server-6479964fb6-kk9g2 2/2 Running 0 35m
[...]
Die Prometheus-Pods und alle anderen mit der Prometheus-Komponente verknüpften Ressourcen werden in dem Namespace erstellt, den Sie in prometheus-data-values.yaml
bereitgestellt haben. Wenn Sie den Standard-Namespace verwenden, werden die Pods und Komponenten im Namespace tanzu-system-monitoring
erstellt.
Es gibt zwei Möglichkeiten, Konfigurationsparameter des Prometheus-Pakets anzuzeigen:
So rufen Sie das Paketschema ab:
tanzu package available get prometheus.tanzu.vmware.com/2.27.0+vmware.1-tkg.1 -n AVAILABLE-PACKAGE-NAMESPACE --values-schema
Mithilfe dieses Befehls werden die Konfigurationsparameter des Prometheus-Pakets und die zugehörigen Standardwerte aufgelistet. Sie können die Ausgabe zum Aktualisieren der Datei prometheus-data-values.yml
verwenden, die oben unter Bereitstellen von Prometheus mit benutzerdefinierten Werten erstellt wurde.
In der folgenden Tabelle werden die Konfigurationsparameter des Prometheus-Pakets aufgelistet und deren Standardwerte beschrieben.
Sie können die folgenden Konfigurationswerte in der Datei prometheus-data-values.yml
festlegen, die oben unter Bereitstellen von Prometheus mit benutzerdefinierten Werten erstellt wurde.
Parameter | Beschreibung | Typ | Standard |
---|---|---|---|
namespace |
Namespace, in dem Prometheus bereitgestellt wird. | Zeichenfolge | tanzu-system-monitoring |
prometheus.deployment.replicas |
Anzahl der Prometheus-Replikate. | Zeichenfolge | 1 |
prometheus.deployment.containers.args |
Prometheus-Containerargumente. Sie können diesen Parameter so konfigurieren, dass die Aufbewahrungszeit geändert wird. Informationen zum Konfigurieren von Prometheus-Speicherparametern finden Sie in der Prometheus-Dokumentation. Hinweis Längere Aufbewahrungszeiten erfordern mehr Speicherkapazität als kürzere Aufbewahrungszeiten. Unter Umständen muss die Beanspruchungsgröße für dauerhafte Volumes erhöht werden, wenn die Aufbewahrungszeit erheblich verlängert wird. | Liste | Nicht verfügbar |
prometheus.deployment.containers.resources |
Anforderungen und Grenzwerte für Prometheus-Containerressourcen. | Zuordnung | {} |
prometheus.deployment.podAnnotations |
Pod-Anmerkungen der Prometheus-Bereitstellungen. | Zuordnung | {} |
prometheus.deployment.podLabels |
Pod-Bezeichnungen der Prometheus-Bereitstellungen. | Zuordnung | {} |
prometheus.deployment.configMapReload.containers.args |
Argumente für Configmap-reload-Container. | Liste | Nicht verfügbar |
prometheus.deployment.configMapReload.containers.resources |
Anforderungen und Grenzwerte für Configmap-reload-Containerressourcen. | Zuordnung | {} |
prometheus.service.type |
Diensttyp zur Bereitstellung von Prometheus. Unterstützte Werte: ClusterIP . |
Zeichenfolge | ClusterIP |
prometheus.service.port |
Port des Prometheus-Diensts. | Ganzzahl | 80 |
prometheus.service.targetPort |
Zielport des Prometheus-Diensts. | Ganzzahl | 9090 |
prometheus.service.labels |
Bezeichnungen des Prometheus-Diensts. | Zuordnung | {} |
prometheus.service.annotations |
Anmerkungen des Prometheus-Diensts. | Zuordnung | {} |
prometheus.pvc.annotations |
Anmerkungen der Speicherklasse. | Zuordnung | {} |
prometheus.pvc.storageClassName |
Speicherklasse, die für die Anforderung eines dauerhaften Datenträgers verwendet werden soll. Standardmäßig ist dieser Wert null, und der Standardbereitsteller wird verwendet. | Zeichenfolge | null |
prometheus.pvc.accessMode |
Definition des Zugriffsmodus für die Anforderung eines dauerhaften Datenträgers. Unterstützte Werte: ReadWriteOnce , ReadOnlyMany , ReadWriteMany . |
Zeichenfolge | ReadWriteOnce |
prometheus.pvc.storage |
Definition der Speichergröße für die Anforderung eines dauerhaften Datenträgers. | Zeichenfolge | 150Gi |
prometheus.config.prometheus_yml |
Informationen zur globalen Prometheus-Konfiguration finden Sie in der Prometheus-Dokumentation. | YAML-Datei | prometheus.yaml |
prometheus.config.alerting_rules_yml |
Informationen zu den Prometheus-Warnungsregeln finden Sie in der Prometheus-Dokumentation. | YAML-Datei | alerting_rules.yaml |
prometheus.config.recording_rules_yml |
Informationen zu den Prometheus-Aufzeichnungsregeln finden Sie in der Prometheus-Dokumentation. | YAML-Datei | recording_rules.yaml |
prometheus.config.alerts_yml |
An dieser Stelle werden zusätzliche Prometheus-Warnungsregeln konfiguriert. | YAML-Datei | alerts_yml.yaml |
prometheus.config.rules_yml |
An dieser Stelle werden zusätzliche Prometheus-Aufnahmeregeln konfiguriert. | YAML-Datei | rules_yml.yaml |
alertmanager.deployment.replicas |
Anzahl der Alertmanager-Replikate. | Ganzzahl | 1 |
alertmanager.deployment.containers.resources |
Anforderung und Grenzwerte für Alertmanager-Containerressourcen. | Zuordnung | {} |
alertmanager.deployment.podAnnotations |
Pod-Anmerkungen der Alertmanager-Bereitstellungen. | Zuordnung | {} |
alertmanager.deployment.podLabels |
Pod-Bezeichnungen der Alertmanager-Bereitstellungen. | Zuordnung | {} |
alertmanager.service.type |
Diensttyp zur Bereitstellung von Alertmanager. Unterstützte Werte: ClusterIP . |
Zeichenfolge | ClusterIP |
alertmanager.service.port |
Port des Alertmanager-Diensts. | Ganzzahl | 80 |
alertmanager.service.targetPort |
Zielport des Alertmanager-Diensts. | Ganzzahl | 9093 |
alertmanager.service.labels |
Bezeichnungen des Alertmanager-Diensts. | Zuordnung | {} |
alertmanager.service.annotations |
Anmerkungen des Alertmanager-Diensts. | Zuordnung | {} |
alertmanager.pvc.annotations |
Anmerkungen der Speicherklasse. | Zuordnung | {} |
alertmanager.pvc.storageClassName |
Speicherklasse, die für die Anforderung eines dauerhaften Datenträgers verwendet werden soll. Standardmäßig ist dieser Wert null, und der Standardbereitsteller wird verwendet. | Zeichenfolge | null |
alertmanager.pvc.accessMode |
Definition des Zugriffsmodus für die Anforderung eines dauerhaften Datenträgers. Unterstützte Werte: ReadWriteOnce , ReadOnlyMany , ReadWriteMany . |
Zeichenfolge | ReadWriteOnce |
alertmanager.pvc.storage |
Definition der Speichergröße für die Anforderung eines dauerhaften Datenträgers. | Zeichenfolge | 2Gi |
alertmanager.config.alertmanager_yml |
Informationen zur globalen YAML-Konfiguration für Alertmanager finden Sie in der Prometheus-Dokumentation. | YAML-Datei | alertmanager_yml |
kube_state_metrics.deployment.replicas |
Anzahl der kube-state-metrics-Replikate. | Ganzzahl | 1 |
kube_state_metrics.deployment.containers.resources |
Anforderungen und Grenzwerte für kube-state-metrics-Containerressourcen. | Zuordnung | {} |
kube_state_metrics.deployment.podAnnotations |
Pod-Anmerkungen der kube-state-metrics-Bereitstellungen. | Zuordnung | {} |
kube_state_metrics.deployment.podLabels |
Pod-Bezeichnungen der kube-state-metrics-Bereitstellungen. | Zuordnung | {} |
kube_state_metrics.service.type |
Diensttyp zur Bereitstellung von kube-state-metrics. Unterstützte Werte: ClusterIP . |
Zeichenfolge | ClusterIP |
kube_state_metrics.service.port |
Port des kube-state-metrics-Diensts. | Ganzzahl | 80 |
kube_state_metrics.service.targetPort |
Zielport des kube-state-metrics-Diensts. | Ganzzahl | 8080 |
kube_state_metrics.service.telemetryPort |
Telemetrieport des kube-state-metrics-Diensts. | Ganzzahl | 81 |
kube_state_metrics.service.telemetryTargetPort |
Telemetriezielport des kube-state-metrics-Diensts. | Ganzzahl | 8081 |
kube_state_metrics.service.labels |
Bezeichnung des kube-state-metrics-Diensts. | Zuordnung | {} |
kube_state_metrics.service.annotations |
Anmerkungen des kube-state-metrics-Diensts. | Zuordnung | {} |
node_exporter.daemonset.replicas |
Anzahl der node-exporter-Replikate. | Ganzzahl | 1 |
node_exporter.daemonset.containers.resources |
Anforderungen und Grenzwerte für node-exporter-Containerressourcen. | Zuordnung | {} |
node_exporter.daemonset.hostNetwork |
Hostnetzwerk für diesen Pod angefordert. | Boolescher Wert | false |
node_exporter.daemonset.podAnnotations |
Pod-Anmerkungen der node-exporter-Bereitstellungen. | Zuordnung | {} |
node_exporter.daemonset.podLabels |
Pod-Bezeichnungen der node-exporter-Bereitstellungen. | Zuordnung | {} |
node_exporter.service.type |
Diensttyp zur Bereitstellung von node-exporter. Unterstützte Werte: ClusterIP . |
Zeichenfolge | ClusterIP |
node_exporter.service.port |
Port des node-exporter-Diensts. | Ganzzahl | 9100 |
node_exporter.service.targetPort |
Zielport des node-exporter-Diensts. | Ganzzahl | 9100 |
node_exporter.service.labels |
Bezeichnungen des node-exporter-Diensts. | Zuordnung | {} |
node_exporter.service.annotations |
Anmerkungen des node-exporter-Diensts. | Zuordnung | {} |
pushgateway.deployment.replicas |
Anzahl der pushgateway-Replikate. | Ganzzahl | 1 |
pushgateway.deployment.containers.resources |
Anforderungen und Grenzwerte für pushgateway-Containerressourcen. | Zuordnung | {} |
pushgateway.deployment.podAnnotations |
Pod-Anmerkungen der pushgateway-Bereitstellungen. | Zuordnung | {} |
pushgateway.deployment.podLabels |
Pod-Bezeichnungen der pushgateway-Bereitstellungen. | Zuordnung | {} |
pushgateway.service.type |
Diensttyp zur Bereitstellung von pushgateway. Unterstützte Werte: ClusterIP . |
Zeichenfolge | ClusterIP |
pushgateway.service.port |
Port des pushgateway-Diensts. | Ganzzahl | 9091 |
pushgateway.service.targetPort |
Zielport des pushgateway-Diensts. | Ganzzahl | 9091 |
pushgateway.service.labels |
Bezeichnungen des pushgateway-Diensts. | Zuordnung | {} |
pushgateway.service.annotations |
Anmerkungen des pushgateway-Diensts. | Zuordnung | {} |
cadvisor.daemonset.replicas |
Anzahl der cadvisor-Replikate. | Ganzzahl | 1 |
cadvisor.daemonset.containers.resources |
Anforderungen und Grenzwerte für cadvisor-Containerressourcen. | Zuordnung | {} |
cadvisor.daemonset.podAnnotations |
Pod-Anmerkungen der cadvisor-Bereitstellungen. | Zuordnung | {} |
cadvisor.daemonset.podLabels |
Pod-Bezeichnungen der cadvisor-Bereitstellungen. | Zuordnung | {} |
ingress.enabled |
Aktivieren/Deaktivieren von Ingress für Prometheus und alertmanager. | Boolean | false |
ingress.virtual_host_fqdn |
Hostname für den Zugriff auf Prometheus und alertmanager. | Zeichenfolge | prometheus.system.tanzu |
ingress.prometheus_prefix |
Pfadpräfix für Prometheus. | Zeichenfolge | / |
ingress.alertmanager_prefix |
Pfadpräfix für alertmanager. | Zeichenfolge | /alertmanager/ |
ingress.prometheusServicePort |
Port des Prometheus-Diensts, an den der Datenverkehr weitergeleitet wird. | Ganzzahl | 80 |
ingress.alertmanagerServicePort |
Port des alertmanager-Diensts, an den der Datenverkehr weitergeleitet wird. | Ganzzahl | 80 |
ingress.tlsCertificate.tls.crt |
Optionales Zertifikat für Ingress bei Verwendung des eigenen TLS-Zertifikats. Standardmäßig wird ein selbstsigniertes Zertifikat erzeugt. Hinweis: tls.crt ist ein nicht verschachtelter Schlüssel. |
Zeichenfolge | Generated cert |
ingress.tlsCertificate.tls.key |
Optionaler privater Zertifikatsschlüssel für Ingress bei Verwendung des eigenen TLS-Zertifikats. Hinweis: tls.key ist ein nicht verschachtelter Schlüssel. |
Zeichenfolge | Generated cert key |
ingress.tlsCertificate.ca.crt |
Optionales CA-Zertifikat. Hinweis: ca.crt ist ein nicht verschachtelter Schlüssel. |
Zeichenfolge | CA certificate |
Um nach der Bereitstellung Änderungen an der Konfiguration des Prometheus-Pakets vorzunehmen, aktualisieren Sie Ihr bereitgestelltes Prometheus-Paket:
Aktualisieren Sie die Prometheus-Konfiguration in der Datei prometheus-data-values.yaml
.
Aktualisieren Sie das installierte Paket:
tanzu package installed update prometheus \
--version 2.27.0+vmware.1-tkg.1 \
--values-file prometheus-data-values.yaml \
--namespace my-packages
Erwartete Ausgabe:
| Updating package 'prometheus'
- Getting package install for 'prometheus'
| Updating secret 'prometheus-my-packages-values'
| Updating package install for 'prometheus'
Updated package install 'prometheus' in namespace 'my-packages'
Das Prometheus-Paket wird mit dem neuen Wert oder den von Ihnen hinzugefügten Werten abgeglichen. Es kann bis zu fünf Minuten dauern, bis kapp-controller
die Änderungen übernommen hat.
Informationen zum Aktualisieren finden Sie unter Aktualisieren eines Pakets.
Führen Sie folgenden Befehl aus, um das Prometheus-Paket in Ihrem Cluster zu entfernen:
tanzu package installed delete prometheus --namespace my-packages
Informationen zum Löschen finden Sie unter Löschen eines Pakets.
Um Benachrichtigungen für Alert Manager zu konfigurieren, bearbeiten Sie den Abschnitt alertmanager.config.alertmanager_yml
in der Datei prometheus-data-values.yml
.
Informationen zum Konfigurieren von Benachrichtigungen, wie z. B. Slack oder E-Mail, finden Sie unter Konfiguration in der Prometheus-Dokumentation.
Ingress ist standardmäßig nicht auf Prometheus aktiviert. Dies liegt daran, dass der Zugriff auf das Prometheus-Dashboard nicht authentifiziert ist. So greifen Sie auf das Prometheus-Dashboard zu:
Stellen Sie Contour im Cluster bereit.
Informationen zum Bereitstellen von Contour finden Sie unter Installieren von Contour für die Ingress-Steuerung.
Kopieren Sie den Abschnitt ingress.enabled
unten in die Datei prometheus-data-values.yaml
.
ingress:
enabled: false
virtual_host_fqdn: "prometheus.system.tanzu"
prometheus_prefix: "/"
alertmanager_prefix: "/alertmanager/"
prometheusServicePort: 80
alertmanagerServicePort: 80
#! [Optional] The certificate for the ingress if you want to use your own TLS certificate.
#! We will issue the certificate by cert-manager when it's empty.
tlsCertificate:
#! [Required] the certificate
tls.crt:
#! [Required] the private key
tls.key:
#! [Optional] the CA certificate
ca.crt:
Aktualisieren Sie ingress.enabled
von false
in true
.
Erstellen Sie einen DNS-Datensatz, um prometheus.system.tanzu
der Adresse des Envoy-Lastausgleichsdiensts zuzuordnen.
Informationen zum Abrufen der Adresse des Envoy-Lastausgleichsdiensts finden Sie unter Installieren von Contour für die Ingress-Steuerung.
Greifen Sie auf das Prometheus-Dashboard zu, indem Sie in einem Browser zu https://prometheus.system.tanzu
navigieren.
Das Prometheus-Paket wird jetzt ausgeführt und entfernt Daten aus Ihrem Cluster. Informationen zum Visualisieren der Daten in Grafana-Dashboards finden Sie unter Bereitstellen von Grafana auf Arbeitslastclustern.