Suivez ces instructions pour installer Prometheus avec Alertmanager sur un cluster Service TKG qui exécute TKr pour vSphere 8.x.

Conditions requises

Respectez les conditions préalables suivantes.

Créer des valeurs de données Prometheus

Préparez l'installation de Prometheus en créant le fichier de valeurs de données.

  1. Obtenez la dernière version du module Prometheus pour votre référentiel.
    tanzu package available get prometheus.tanzu.vmware.com -n tkg-system

    Ou, à l'aide de kubectl.

    kubectl -n tkg-system get packages | grep prometheus
    Note : En général, vous devez utiliser la dernière version, sauf si vos exigences diffèrent.
  2. Générez le fichier 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
    Où :
    • 2.45.0+vmware.1-tkg.2 est la version du module cible
    • prometheus-data-values.yaml est le nom et le chemin d'accès du fichier de valeurs de données à générer
  3. Modifiez le fichier prometheus-data-values.yaml et configurez les valeurs suivantes qui sont requises pour accéder au tableau de bord Prometheus. Reportez-vous à la section Référence du module Prometheus pour obtenir un exemple de fichier de valeurs de données et la liste complète des paramètres de configuration.
    Paramètre Description
    ingress.tlsCertificate.tls.crt Un certificat TLS auto-signé est généré pour l'entrée. Vous pouvez éventuellement le remplacer et fournir le vôtre.
    ingress.tlsCertificate.tls.key Une clé privée TLS auto-signée est générée pour l'entrée. Vous pouvez éventuellement le remplacer et fournir le vôtre.
    ingress.enabled Définissez la valeur sur true (la valeur par défaut est false).
    ingress.virtual_host_fqdn Définissez la valeur sur prometheus.<your.domain> (la valeur par défaut est prometheus.system.tanzu).
    alertmanager.pvc.storageClassName Entrez le nom de la stratégie de stockage vSphere.
    prometheus.pvc.storageClassName Entrez le nom de la stratégie de stockage vSphere.

Installer Prometheus

Effectuez ces étapes pour installer le module Prometheus.
  1. Créez l'espace de noms.
    kubectl create ns tanzu-system-monitoring
  2. Installez 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. Vérifiez l'installation de Prometheus.
    tanzu package installed list -n tanzu-system-monitoring
    tanzu package installed get prometheus -n tanzu-system-monitoring
  4. Vérifiez les objets Prometheus et Altermanager.
    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

Dépanner l'installation de Prometheus

Si l'opération de tanzu package install prometheus renvoie l'erreur « Échec de l'obtention de l'adresse d'annonce finale : aucune adresse IP privée trouvée et adresse IP explicite non fournie », appliquez une superposition de module pour reconfigurer le composant alertmanager.
  1. Créez le fichier 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. Utilisez Kubectl pour créer un secret à partir du fichier overlay-alertmanager.yaml.
    kubectl create secret generic alertmanager-overlay -n tkg-system -o yaml --dry-run=client --from-file=overlay-alertmanager.yaml | kubectl apply -f -
  3. Utilisez Kubectl pour annoter le module Prometheus avec le secret de superposition.
    kubectl annotate PackageInstall prometheus -n tkg-system ext.packaging.carvel.dev/ytt-paths-from-secret-name.1=alertmanager-overlay
  4. Exécutez à nouveau la commande d'installation.
    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

Accéder au tableau de bord Prometheus

Une fois Prometheus installé, procédez comme suit pour accéder au tableau de bord Prometheus.
  1. Assurez-vous que la section ingress du fichier prometheus-data-values.yaml contient tous les champs requis.
    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. Obtenez l'adresse IP publique (externe) de l'équilibrage de charge Contour avec Envoy.

    Reportez-vous à la section Installer Contour avec Envoy.

  3. Créez un enregistrement DNS qui mappe le nom de domaine complet Prometheus que vous avez utilisé (la valeur par défaut est prometheus.system.tanzu) à l'adresse IP de l'équilibrage de charge Envoy.
  4. Accédez au tableau de bord Prometheus en accédant au nom de domaine complet de Prometheus à l'aide d'un navigateur.