Implementar Prometheus en clústeres de carga de trabajo

En este tema se explica cómo implementar Prometheus en un clúster de carga de trabajo. Los siguientes procedimientos se aplican a vSphere, Amazon Web Services (AWS) y las implementaciones de Azure.

Prometheus

Prometheus es un kit de herramientas de alertas y supervisión de sistemas de código abierto. Tanzu Kubernetes Grid incluye archivos binarios firmados para Prometheus que puede implementar en clústeres de carga de trabajo para supervisar el estado y los servicios del clúster.

Requisitos previos

Importante

La compatibilidad con direcciones IPv6 en Tanzu Kubernetes Grid es limitada; consulte Implementar clústeres en IPv6 (solo vSphere). Si no va a implementar en un entorno de redes solo IPv6, debe proporcionar direcciones IPv4 en los siguientes pasos.

Preparar el clúster de carga de trabajo para la implementación de Prometheus

Para preparar el clúster:

  1. Obtenga las credenciales de administrador del clúster de carga de trabajo en el que desea implementar Prometheus. Por ejemplo:

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. Establezca el contexto de kubectl en el clúster. Por ejemplo:

    kubectl config use-context my-cluster-admin@my-cluster
    

(Opcional) Habilitar entrada para Prometheus

Para habilitar la entrada, puede instalar los siguientes paquetes opcionales:

  1. Instale cert-manager. Para obtener información, consulte Instalar el administrador de certificados para la administración de certificados.
  2. Instale Contour. Para obtener información, consulte Instalar Contour para el control de entrada.

Continúe con Implementar Prometheus en el clúster de carga de trabajo a continuación.

Implementar Prometheus en el clúster de carga de trabajo

Para instalar Prometheus:

  1. Si el clúster no tiene un repositorio de paquetes con el paquete de Prometheus instalado, como el repositorio tanzu-standard, instale uno:

    Nota

    Si tiene como objetivo un clúster basado en planes (heredado), omita este paso. Para los clústeres basados en planes, el repositorio de paquetes tanzu-standard se habilita automáticamente en cada clúster, en el espacio de nombres tanzu-package-repo-global.

    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    

    Donde:

    • PACKAGE-REPO-NAME es el nombre del repositorio de paquetes, como tanzu-standard o el nombre de un registro de imagen privado configurado con variables ADDITIONAL_IMAGE_REGISTRY.
    • PACKAGE-REPO-ENDPOINTes la URL del repositorio de paquetes.

      • En esta versión, la URL tanzu-standard es projects.registry.vmware.com/tkg/packages/standard/repo:v2.2.0. Consulte Repositorios de paquetes de lista para obtener este valor de la CLI de Tanzu, o bien en Tanzu Mission Control, consulte la lista Complementos (Addons) > Repositorios (Repositories) en el panel Clúster (Cluster).
  2. Confirme que el paquete de Prometheus está disponible en el clúster de carga de trabajo:

    tanzu package available list -A
    
  3. Recupere la versión del paquete disponible:

    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.37.0+vmware.3-tkg.1            2020-11-24T18:00:00Z  tanzu-package-repo-global
    
    Importante

    Si el clúster de carga de trabajo ejecuta Kubernetes 1.25, debe instalar la versión de Prometheus 2.37.0+vmware.3-tkg.1. Las versiones anteriores del paquete de Prometheus (por ejemplo, la versión 2.37.0+vmware.1-tkg.1) están disponibles en el repositorio, pero no son compatibles con Kubernetes 1.25.

Cuando esté listo para implementar Prometheus, puede:

vSphere with Tanzu: Para implementar el paquete de Prometheus en un clúster de carga de trabajo creado por un vSphere Supervisor Cluster, debe implementarlo con valores personalizados. El paquete de Prometheus no se validó para los clústeres de carga de trabajo en vSphere 7.0 U3.

Implementar Prometheus con configuraciones predeterminadas

Después de confirmar la versión del paquete y recuperarla, puede instalar el paquete.

  1. Instale el paquete Prometheus con sus valores predeterminados:

    tanzu package install prometheus \
    --package prometheus.tanzu.vmware.com \
    --version AVAILABLE-PACKAGE-VERSION \
    --namespace TARGET-NAMESPACE
    

    Donde:

    • TARGET-NAMESPACE es el espacio de nombres en el que se desea instalar el paquete de Prometheus. Por ejemplo, el espacio de nombres my-packages o tanzu-cli-managed-packages.

      • Si no se especifica la marca --namespace, la CLI de Tanzu utiliza el espacio de nombres default. Los pods de Prometheus y cualquier otro recurso asociado con el componente de Prometheus se crean en el espacio de nombres tanzu-system-monitoring; no instale el paquete de Prometheus en este espacio de nombres.
      • El espacio de nombres especificado ya debe existir, por ejemplo, al haber ejecutado kubectl create namespace my-packages.
    • AVAILABLE-PACKAGE-VERSION es la versión que recuperó anteriormente (por ejemplo, 2.37.0+vmware.3-tkg.1).

    Por ejemplo:

    tanzu package install prometheus --package prometheus.tanzu.vmware.com --namespace my-packages --version 2.37.0+vmware.3-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'
    
  2. vSphere with Tanzu: En vSphere 8 y vSphere 7.0 U2 con la función vSphere with Tanzu habilitada, el comando tanzu package install prometheus puede devolver el error Failed to get final advertise address: No private IP address found, and explicit IP not provided.

    Para solucionar este error, cree y aplique una superposición de paquete para volver a configurar el componente alertmanager:

    1. Cree un archivo overlay-alertmanager.yaml que contenga:

      ---
      #@ 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. Cree un secreto a partir de la superposición:

      kubectl create secret generic alertmanager-overlay -n tanzu-package-repo-global -o yaml --dry-run=client --from-file=overlay-alertmanager.yaml | kubectl apply -f -
      
    3. Anote el paquete con el secreto:

      kubectl annotate PackageInstall prometheus -n tanzu-package-repo-global ext.packaging.carvel.dev/ytt-paths-from-secret-name.1=alertmanager-overlay
      

Continúe con Verificar la implementación de Prometheus a continuación.

Implementar Prometheus con valores personalizados

Para instalar el paquete de Prometheus con los valores proporcionados por el usuario:

  1. Cree un archivo de configuración. Este archivo configura el paquete de Prometheus.

    tanzu package available get prometheus.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
    

    Donde PACKAGE-VERSION es la versión del paquete de Prometheus que desea instalar y FILE-PATH es la ubicación en la que desea guardar el archivo de configuración, por ejemplo, prometheus-data-values.yaml. El comando anterior crea un archivo de configuración denominado prometheus-data-values.yaml que contiene los valores predeterminados. Tenga en cuenta que en las versiones anteriores, este archivo se denominaba prometheus-data-values.yaml.

    Para obtener información sobre los parámetros de configuración que se deben utilizar en prometheus-data-values.yaml, consulte Parámetros de configuración del paquete de Prometheus a continuación.

  2. vSphere with Tanzu: Si está implementando Prometheus en un clúster de carga de trabajo creado por un clúster del supervisor de vSphere, establezca un valor no nulo para prometheus.pvc.storageClassName y alertmanager.pvc.storageClassName en el archivo prometheus-data-values.yaml:

    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
    

    Donde STORAGE-CLASS es el nombre de la clase de almacenamiento del clúster como lo devuelve kubectl get storageclass.

  3. Después de realizar los cambios necesarios en el archivo prometheus-data-values.yaml, elimine todos los comentarios que contenga:

    yq -i eval '... comments=""' prometheus-data-values.yaml
    
  4. Implementar el paquete:

    tanzu package install prometheus \
    --package prometheus.tanzu.vmware.com \
    --version PACKAGE-VERSION \
    --values-file prometheus-data-values.yaml \
    --namespace TARGET-NAMESPACE
    

    Donde:

    • TARGET-NAMESPACE es el espacio de nombres en el que se desea instalar el paquete de Prometheus, la aplicación de paquete de Prometheus y cualquier otro recurso de Kubernetes que describa el paquete. Por ejemplo, el espacio de nombres my-packages o tanzu-cli-managed-packages. Si no se especifica la marca --namespace, la CLI de Tanzu utiliza el espacio de nombres default. Los pods de Prometheus y cualquier otro recurso asociado con el componente de Prometheus se crean en el espacio de nombres tanzu-system-monitoring; no instale el paquete de Prometheus en este espacio de nombres.
    • PACKAGE-VERSION es la versión que recuperó anteriormente (por ejemplo, 2.37.0+vmware.3-tkg.1).

Continúe con Verificar la implementación de Prometheus a continuación.

Comprobar la implementación de Prometheus

Después de implementar Prometheus, puede comprobar que la implementación se realice correctamente:

  1. Confirme que el paquete de Prometheus esté instalado. Por ejemplo:

    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.37.0+vmware.3-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
    

    El paquete prometheus y la aplicación prometheus se instalan en el espacio de nombres que especifique al ejecutar el comando tanzu package install.

  2. Confirme que la aplicación prometheus se haya conciliado correctamente:

    kubectl get apps -A
    

    Por ejemplo:

    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
    [...]
    

    Si el estado no es Reconcile succeeded, consulte los detalles del estado completo de la aplicación prometheus. Ver el estado completo puede ayudarle a solucionar el problema:

    kubectl get app prometheus --namespace PACKAGE-NAMESPACE -o yaml
    

    Donde PACKAGE-NAMESPACE es el espacio de nombres en el que se instaló el paquete.

  3. Confirme que los nuevos servicios se estén ejecutando enumerando todos los pods que se ejecutan en el clúster:

    kubectl get pods -A
    

    En el espacio de nombres tanzu-system-monitoring, debería ver los servicios prometheus, alertmanager, node_exporter, pushgateway, cadvisor y kube_state_metrics que se ejecutan en un pod:

    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
    [...]
    

Los pods de Prometheus y cualquier otro recurso asociado con el componente de Prometheus se crean en el espacio de nombres proporcionado en prometheus-data-values.yaml. Si utiliza el espacio de nombres predeterminado, estos se crean en el espacio de nombres tanzu-system-monitoring.

Parámetros de configuración del paquete Prometheus

Existen dos formas de ver los parámetros de configuración del paquete de Prometheus:

Revisar el esquema del paquete

Para recuperar el esquema del paquete:

tanzu package available get prometheus.tanzu.vmware.com/2.37.0+vmware.3-tkg.1 -n AVAILABLE-PACKAGE-NAMESPACE --values-schema

Este comando enumera los parámetros de configuración del paquete Prometheus y sus valores predeterminados. Puede utilizar el resultado para actualizar el archivo prometheus-data-values.yml creado en la sección anterior Implementar Prometheus con valores personalizados.

Revisar parámetros de configuración

En la siguiente tabla se enumeran los parámetros de configuración del paquete de Prometheus y se describen sus valores predeterminados.

Puede establecer los siguientes valores de configuración en su archivo prometheus-data-values.yml creado en la sección anterior Implementar Prometheus con valores personalizados.

Parámetro Descripción Tipo Predeterminado
namespace Espacio de nombres donde se implementará Prometheus. Cadena tanzu-system-monitoring
prometheus.deployment.replicas Número de réplicas de Prometheus. Cadena 1
prometheus.deployment.containers.args Argumentos del contenedor de Prometheus. Puede configurar este parámetro para cambiar el tiempo de retención. Para obtener información sobre cómo configurar los parámetros de almacenamiento de Prometheus, consulte la documentación de Prometheus. Nota Los tiempos de retención más largos requieren más capacidad de almacenamiento que los tiempos de retención más cortos. Es posible que sea necesario aumentar el tamaño de la notificación de volumen persistente si se aumenta significativamente el tiempo de retención. Lista N/D
prometheus.deployment.containers.resources Límites y solicitudes de recursos del contenedor de Prometheus. Mapa {}
prometheus.deployment.podAnnotations Anotaciones del pod de implementaciones de Prometheus. Mapa {}
prometheus.deployment.podLabels Etiquetas del pod de implementaciones de Prometheus. Mapa {}
prometheus.deployment.configMapReload.containers.args Argumentos del contenedor de configmap-reload. Lista N/D
prometheus.deployment.configMapReload.containers.resources Límites y solicitudes de recursos de contenedor de Configmap-reload. Mapa {}
prometheus.service.type Tipo de servicio para exponer Prometheus. Valores admitidos: ClusterIP. Cadena ClusterIP
prometheus.service.port Puerto de servicio de Prometheus. Entero 80
prometheus.service.targetPort Puerto de destino del servicio Prometheus. Entero 9090
prometheus.service.labels Etiquetas de servicio de Prometheus. Mapa {}
prometheus.service.annotations Anotaciones del servicio Prometheus. Mapa {}
prometheus.pvc.annotations Anotaciones de clase de almacenamiento. Mapa {}
prometheus.pvc.storageClassName Clase de almacenamiento que se utilizará para la notificación de volumen persistente. De forma predeterminada, es nulo y se utiliza el aprovisionador predeterminado. Cadena null
prometheus.pvc.accessMode Defina el modo de acceso para la notificación de volumen persistente. Valores admitidos: ReadWriteOnce, ReadOnlyMany, ReadWriteMany. Cadena ReadWriteOnce
prometheus.pvc.storage Defina el tamaño de almacenamiento para la notificación de volumen persistente. Cadena 150Gi
prometheus.config.prometheus_yml Para obtener información sobre la configuración global de Prometheus, consulte la documentación de Prometheus. Archivo YAML prometheus.yaml
prometheus.config.alerting_rules_yml Para obtener información sobre las reglas de alerta de Prometheus, consulte la documentación de Prometheus. Archivo YAML alerting_rules.yaml
prometheus.config.recording_rules_yml Para obtener información sobre las reglas de registro de Prometheus, consulte la documentación de Prometheus. Archivo YAML recording_rules.yaml
prometheus.config.alerts_yml Aquí se configuran reglas de alerta adicionales de Prometheus. Archivo YAML alerts_yml.yaml
prometheus.config.rules_yml Aquí se configuran reglas de registro adicionales de Prometheus. Archivo YAML rules_yml.yaml
alertmanager.deployment.replicas Número de réplicas de Alertmanager. Entero 1
alertmanager.deployment.containers.resources Límites y solicitudes de recursos de contenedor de Alertmanager. Mapa {}
alertmanager.deployment.podAnnotations Anotaciones del pod de implementaciones de Alertmanager. Mapa {}
alertmanager.deployment.podLabels Etiquetas del pod de implementaciones de Alertmanager. Mapa {}
alertmanager.service.type Tipo de servicio para exponer Alertmanager. Valores admitidos: ClusterIP. Cadena ClusterIP
alertmanager.service.port Puerto del servicio Alertmanager. Entero 80
alertmanager.service.targetPort Puerto de destino del servicio Alertmanager. Entero 9093
alertmanager.service.labels Etiquetas de servicio de Alertmanager. Mapa {}
alertmanager.service.annotations Anotaciones del servicio Alertmanager. Mapa {}
alertmanager.pvc.annotations Anotaciones de clase de almacenamiento. Mapa {}
alertmanager.pvc.storageClassName Clase de almacenamiento que se utilizará para la notificación de volumen persistente. De forma predeterminada, es nulo y se utiliza el aprovisionador predeterminado. Cadena null
alertmanager.pvc.accessMode Defina el modo de acceso para la notificación de volumen persistente. Valores admitidos: ReadWriteOnce, ReadOnlyMany, ReadWriteMany. Cadena ReadWriteOnce
alertmanager.pvc.storage Defina el tamaño de almacenamiento para la notificación de volumen persistente. Cadena 2Gi
alertmanager.config.alertmanager_yml Para obtener información sobre la configuración de YAML global para Alert Manager, consulte la documentación de Prometheus. Archivo YAML alertmanager_yml
kube_state_metrics.deployment.replicas Cantidad de réplicas de kube-state-metrics. Entero 1
kube_state_metrics.deployment.containers.resources Límites y solicitudes de recursos de contenedor kube-state-metrics. Mapa {}
kube_state_metrics.deployment.podAnnotations Las anotaciones del pod de implementaciones de kube-state-metrics. Mapa {}
kube_state_metrics.deployment.podLabels Las etiquetas del pod de implementaciones de kube-state-metrics. Mapa {}
kube_state_metrics.service.type Tipo de servicio para exponer kube-state-metrics. Valores admitidos: ClusterIP. Cadena ClusterIP
kube_state_metrics.service.port Puerto del servicio kube-state-metrics. Entero 80
kube_state_metrics.service.targetPort Puerto de destino del servicio kube-state-metrics. Entero 8080
kube_state_metrics.service.telemetryPort Puerto de telemetría del servicio kube-state-metrics. Entero 81
kube_state_metrics.service.telemetryTargetPort Puerto de telemetría de destino del servicio kube-state-metrics. Entero 8081
kube_state_metrics.service.labels Etiquetas de servicio kube-state-metrics. Mapa {}
kube_state_metrics.service.annotations Anotaciones de etiquetas del servicio kube-state-metrics. Mapa {}
node_exporter.daemonset.replicas Número de réplicas de node-exporter. Entero 1
node_exporter.daemonset.containers.resources Límites y solicitudes de recursos de contenedor de node-exporter. Mapa {}
node_exporter.daemonset.hostNetwork Redes de host solicitadas para este pod. booleano false
node_exporter.daemonset.podAnnotations El exportador de nodos implementa las anotaciones del pod. Mapa {}
node_exporter.daemonset.podLabels El exportador de nodos implementa las etiquetas del pod. Mapa {}
node_exporter.service.type Tipo de servicio para exponer node-exporter. Valores admitidos: ClusterIP. Cadena ClusterIP
node_exporter.service.port Puerto de servicio de node-exporter. Entero 9100
node_exporter.service.targetPort Puerto de destino del servicio node-exporter. Entero 9100
node_exporter.service.labels Etiquetas del servicio node-exporter. Mapa {}
node_exporter.service.annotations Anotaciones del servicio node-exporter. Mapa {}
pushgateway.deployment.replicas Cantidad de réplicas de pushgateway. Entero 1
pushgateway.deployment.containers.resources Solicitudes y límites de recursos del contenedor de pushgateway. Mapa {}
pushgateway.deployment.podAnnotations Anotaciones del pod de implementaciones de Pushgateway. Mapa {}
pushgateway.deployment.podLabels Etiquetas del pod de implementaciones de Pushgateway. Mapa {}
pushgateway.service.type Tipo de servicio para exponer Pushgateway. Valores admitidos: ClusterIP. Cadena ClusterIP
pushgateway.service.port Puerto de servicio Pushgateway. Entero 9091
pushgateway.service.targetPort Puerto de destino del servicio Pushgateway. Entero 9091
pushgateway.service.labels Etiquetas del servicio Pushgateway. Mapa {}
pushgateway.service.annotations Anotaciones del servicio Pushgateway. Mapa {}
cadvisor.daemonset.replicas Cantidad de réplicas de cadvisor. Entero 1
cadvisor.daemonset.containers.resources Límites y solicitudes de recursos de contenedor de cadvisor. Mapa {}
cadvisor.daemonset.podAnnotations Anotaciones del pod de implementaciones de cadvisor. Mapa {}
cadvisor.daemonset.podLabels Etiquetas del pod de implementaciones de cadvisor. Mapa {}
ingress.enabled Active/Desactive la entrada para prometheus y alertmanager. Booleano false
ingress.virtual_host_fqdn Nombre de host para acceder a Prometheus y Alertmanager. Cadena prometheus.system.tanzu
ingress.prometheus_prefix Prefijo de ruta de acceso para Prometheus. Cadena /
ingress.alertmanager_prefix Prefijo de ruta de acceso para Alertmanager. Cadena /alertmanager/
ingress.prometheusServicePort Puerto de servicio de Prometheus al que se enviará el tráfico de proxy. Entero 80
ingress.alertmanagerServicePort Puerto del servicio Alertmanager al que se enviará el tráfico de proxy. Entero 80
ingress.tlsCertificate.tls.crt Certificado opcional para la entrada si desea utilizar su propio certificado TLS. De forma predeterminada, se genera un certificado autofirmado. Nota tls.crt es una clave y no está anidada. Cadena Generated cert
ingress.tlsCertificate.tls.key Clave privada de certificado opcional para la entrada si desea utilizar su propio certificado TLS.
Nota tls.key es una clave y no está anidada.
Cadena Generated cert key
ingress.tlsCertificate.ca.crt Certificado de CA opcional. Nota ca.crt es una clave y no está anidada. Cadena CA certificate


Actualizar una implementación de Prometheus en ejecución

Para realizar cambios en la configuración del paquete de Prometheus después de la implementación, actualice el paquete de Prometheus implementado:

  1. Actualice la configuración de Prometheus en el archivo prometheus-data-values.yaml.

  2. Actualice el paquete instalado:

    tanzu package installed update prometheus \
    --version 2.37.0+vmware.3-tkg.1 \
    --values-file prometheus-data-values.yaml \
    --namespace my-packages
    

    Resultados esperados:

    | 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'
    

El paquete de Prometheus se concilia mediante el nuevo valor o los valores que agregó. kapp-controller puede tardar hasta cinco minutos en aplicar los cambios.

Para obtener información sobre la actualización, consulte Actualizar un paquete.

Eliminar una implementación de Prometheus

Para eliminar el paquete de Prometheus en el clúster, ejecute:

tanzu package installed delete prometheus --namespace my-packages

Para obtener información sobre cómo eliminar, consulte Eliminar un paquete.

Configurar notificaciones en el administrador de alertas

Para configurar las notificaciones del administrador de alertas, edite la sección alertmanager.config.alertmanager_yml del archivo prometheus-data-values.yml.

Para obtener información sobre la configuración de notificaciones, como Slack o Correo electrónico, consulte Configuración en la documentación de Prometheus.

Acceder al panel de control de Prometheus

De forma predeterminada, la entrada no está habilitada en Prometheus. Esto se debe a que el acceso al panel de control de Prometheus no está autenticado. Para acceder al panel de control de Prometheus:

  1. Implemente Contour en el clúster.

    Para obtener información sobre la implementación de Contour, consulte Instalar Contour para el control de entrada.

  2. Copie la siguiente sección ingress.enabled en 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:
    
  3. Actualice ingress.enabled de false a true.

  4. Cree un registro de DNS para asignar prometheus.system.tanzu a la dirección del equilibrador de carga de Envoy.

    Para obtener la dirección del equilibrador de carga de Envoy, consulte Instalar Contour para el control de entrada.

  5. Para acceder al panel de control de Prometheus, desplácese hasta https://prometheus.system.tanzu en un navegador.

    Panel de control de Prometheus

Qué hacer a continuación

El paquete de Prometheus se está ejecutando y recopilando datos del clúster. Para visualizar los datos en los paneles de control de Grafana, consulte Implementar Grafana en clústeres de carga de trabajo.

check-circle-line exclamation-circle-line close-line
Scroll to top icon