Siga estas instrucciones para instalar Prometheus con Alertmanager en un clúster de Servicio TKG que ejecute TKr para vSphere 8.x.

Requisitos previos

Debe cumplir los siguientes requisitos previos.

Crear valores de datos de Prometheus

Prepárese para instalar Prometheus; para ello, cree el archivo de valores de datos.

  1. Obtenga la versión más reciente del paquete de Prometheus para el repositorio.
    tanzu package available get prometheus.tanzu.vmware.com -n tkg-system

    O bien, use kubectl.

    kubectl -n tkg-system get packages | grep prometheus
    Nota: Por lo general, debe utilizar la versión más reciente, a menos que los requisitos sean diferentes.
  2. Genere el archivo 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
    Donde:
    • 2.45.0+vmware.1-tkg.2 es la versión del paquete de destino
    • prometheus-data-values.yaml es el nombre y la ruta del archivo de los valores de datos que se va a generar
  3. Edite el archivo de prometheus-data-values.yaml y configure los siguientes valores, que son necesarios para acceder al panel de control de Prometheus. Consulte Referencia del paquete de Prometheus para obtener un archivo de valores de datos de ejemplo y una lista completa de parámetros de configuración.
    Parámetro Descripción
    ingress.tlsCertificate.tls.crt Se genera un certificado TLS autofirmado para la entrada. Opcionalmente, puede reemplazar y proporcionar uno propio.
    ingress.tlsCertificate.tls.key Se genera una clave privada TLS autofirmada para la entrada. Opcionalmente, puede reemplazar y proporcionar uno propio.
    ingress.enabled Establezca el valor en true (el valor predeterminado es false).
    ingress.virtual_host_fqdn Establezca el valor en prometheus.<your.domain> (el valor predeterminado es prometheus.system.tanzu).
    alertmanager.pvc.storageClassName Introduzca el nombre de la directiva de almacenamiento de vSphere.
    prometheus.pvc.storageClassName Introduzca el nombre de la directiva de almacenamiento de vSphere.

Instalar Prometheus

Siga estos pasos para instalar el paquete de Prometheus.
  1. Cree el espacio de nombres.
    kubectl create ns tanzu-system-monitoring
  2. Instale 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. Compruebe la instalación de Prometheus.
    tanzu package installed list -n tanzu-system-monitoring
    tanzu package installed get prometheus -n tanzu-system-monitoring
  4. Compruebe los objetos de Prometheus y de 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

Solucionar problemas de la instalación de Prometheus

Si la operación tanzu package install prometheus devuelve el error "No se pudo obtener la dirección de anuncio final: no se encontró ninguna dirección IP privada y no se proporcionó una IP explícita", aplique una superposición de paquete para volver a configurar el componente alertmanager.
  1. Cree el archivo 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. Utilice Kubectl para crear un secreto a partir del archivo 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. Utilice Kubectl para anotar el paquete de Prometheus con el secreto de superposición.
    kubectl annotate PackageInstall prometheus -n tkg-system ext.packaging.carvel.dev/ytt-paths-from-secret-name.1=alertmanager-overlay
  4. Vuelva a ejecutar el comando de instalación.
    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

Acceder al panel de control de Prometheus

Una vez que Prometheus esté instalado, complete los siguientes pasos para acceder al panel de control de Prometheus.
  1. Asegúrese de que la sección ingress del archivo prometheus-data-values.yaml se rellena con todos los campos obligatorios.
    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. Obtenga la dirección IP pública (externa) del equilibrador de carga de Contour con Envoy.

    Consulte Instalar Contour con Envoy.

  3. Cree un registro de DNS que asigne el FQDN de Prometheus que utilizó (el valor predeterminado es prometheus.system.tanzu) a la dirección IP del equilibrador de carga de Envoy.
  4. Para acceder al panel de control de Prometheus, desplácese hasta el FQDN de Prometheus con un navegador.