Befolgen Sie diese Anweisungen, um Prometheus mit Alertmanager auf einem TKG-Dienst-Cluster zu installieren, auf dem TKr für vSphere 8.x ausgeführt wird.

Voraussetzungen

Beachten Sie die folgenden Voraussetzungen.

Erstellen von Prometheus-Datenwerten

Bereiten Sie die Installation von Prometheus vor, indem Sie die Datenwertdatei erstellen.

  1. Rufen Sie die neueste Prometheus-Paketversion für Ihr Repository ab.
    tanzu package available get prometheus.tanzu.vmware.com -n tkg-system

    Oder verwenden Sie dazu „kubectl“.

    kubectl -n tkg-system get packages | grep prometheus
    Hinweis: In der Regel sollten Sie die neueste Version verwenden, es sei denn, Ihre Anforderungen weichen ab.
  2. Generieren Sie die Datei prometheus-data-values.yaml.
    tanzu package available get prometheus.tanzu.vmware.com/2.45.0+vmware.1-tkg.2 --default-values-file-output prometheus-data-values.yaml
    Dabei gilt:
    • 2.45.0+vmware.1-tkg.2 ist die Zielpaketversion
    • prometheus-data-values.yaml ist der Name und Pfad der zu generierenden Datenwertdatei
  3. Bearbeiten Sie die Datei prometheus-data-values.yaml, und konfigurieren Sie die folgenden Werte, die für den Zugriff auf das Prometheus-Dashboard erforderlich sind. Unter Prometheus-Paketreferenz finden Sie eine Beispieldatei mit Datenwerten und eine vollständige Liste der Konfigurationsparameter.
    Parameter Beschreibung
    ingress.tlsCertificate.tls.crt Für den eingehenden Datenverkehr wird ein selbstsigniertes TLS-Zertifikat generiert. Dieses können Sie optional außer Kraft setzen und Ihr eigenes Zertifikat angeben.
    ingress.tlsCertificate.tls.key Für den eingehenden Datenverkehr wird ein selbstsignierter privater TLS-Schlüssel generiert. Dieses können Sie optional außer Kraft setzen und Ihr eigenes Zertifikat angeben.
    ingress.enabled Legen Sie den Wert auf true fest (Standard ist „false“).
    ingress.virtual_host_fqdn Legen Sie den Wert auf prometheus.<your.domain> fest (Standard ist prometheus.system.tanzu).
    alertmanager.pvc.storageClassName Geben Sie den Namen der vSphere-Speicherrichtlinie ein.
    prometheus.pvc.storageClassName Geben Sie den Namen der vSphere-Speicherrichtlinie ein.

Installieren von Prometheus

Führen Sie diese Schritte aus, um das Prometheus-Paket zu installieren.
  1. Erstellen Sie den Namespace.
    kubectl create ns tanzu-system-monitoring
  2. Installieren Sie Prometheus.
    tanzu package install prometheus -p prometheus.tanzu.vmware.com -v 2.45.0+vmware.1-tkg.2 --values-file prometheus-data-values.yaml -n tanzu-system-monitoring
  3. Überprüfen Sie die Prometheus-Installation.
    tanzu package installed list -n tanzu-system-monitoring
    tanzu package installed get prometheus -n tanzu-system-monitoring
  4. Überprüfen Sie die Prometheus- und Alertmanager-Objekte.
    kubectl -n tanzu-system-monitoring get all
    kubectl -n tanzu-system-monitoring get pvc
    
    NAME                STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    alertmanager        Bound    pvc-a53f7091-9823-4b70-a9b4-c3d7a1e27a4b   2Gi        RWO            k8s-policy     2m30s
    prometheus-server   Bound    pvc-41745d1d-9401-41d7-b44d-ba430ecc5cda   20Gi       RWO            k8s-policy     2m30s

Fehlerbehebung bei der Prometheus-Installation

Wenn beim tanzu package install prometheus-Vorgang der Fehler „Failed to get final advertise address: No private IP address found, and explicit IP not provided“ (Fehler beim Abrufen der endgültigen Ankündigungsadresse: Keine private IP-Adresse gefunden und explizite IP nicht angegeben) zurückgegeben wird, wenden Sie ein Paket-Overlay an, um die Alertmanager-Komponente neu zu konfigurieren.
  1. Erstellen Sie die Datei „overlay-alertmanager.yaml“.
    ---
    #@ 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=
  2. Erstellen Sie mithilfe von Kubectl einen geheimen Schlüssel aus der overlay-alertmanager.yaml-Datei.
    kubectl create secret generic alertmanager-overlay -n tkg-system -o yaml --dry-run=client --from-file=overlay-alertmanager.yaml | kubectl apply -f -
  3. Verwenden Sie Kubectl, um das Prometheus-Paket mit dem geheimen Overlay-Schlüssel zu versehen.
    kubectl annotate PackageInstall prometheus -n tkg-system ext.packaging.carvel.dev/ytt-paths-from-secret-name.1=alertmanager-overlay
  4. Führen Sie den Installationsbefehl erneut aus.
    tanzu package install prometheus -p prometheus.tanzu.vmware.com -v 2.37.0+vmware.3-tkg.1 --values-file prometheus-data-values.yaml -n tanzu-system-monitoring

Zugreifen auf das Prometheus-Dashboard

Führen Sie nach der Installation von Prometheus die folgenden Schritte aus, um auf das Prometheus-Dashboard zuzugreifen.
  1. Stellen Sie sicher, dass der ingress-Abschnitt der prometheus-data-values.yaml-Datei mit allen erforderlichen Feldern gefüllt ist.
    ingress:
      enabled: true
      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:
  2. Rufen Sie die öffentliche (externe) IP-Adresse des Contour mit Envoy-Lastausgleichsdiensts ab.

    Weitere Informationen hierzu finden Sie unter Installieren von Contour mit Envoy.

  3. Erstellen Sie einen DNS-Datensatz, der den von Ihnen verwendeten Prometheus-FQDN (standardmäßig prometheus.system.tanzu) der IP-Adresse des Envoy-Lastausgleichsdiensts zuordnet.
  4. Greifen Sie auf das Prometheus-Dashboard zu, indem Sie mit einem Browser zum Prometheus-FQDN navigieren.