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.
- Requisitos generales
- Crear el repositorio de paquetes.
- Instalar administrador de certificados.
- Instalar Contour con Envoy (necesario para acceder al panel de control de Prometheus).
- Referencia del paquete de Prometheus
Crear valores de datos de Prometheus
Prepárese para instalar Prometheus; para ello, cree el archivo de valores de datos.
- 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. - 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
- 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 esprometheus.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.
- Cree el espacio de nombres.
kubectl create ns tanzu-system-monitoring
- 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
- Compruebe la instalación de Prometheus.
tanzu package installed list -n tanzu-system-monitoring
tanzu package installed get prometheus -n tanzu-system-monitoring
- 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.
- 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=
- 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 -
- 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
- 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.
- Asegúrese de que la sección
ingress
del archivoprometheus-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:
- Obtenga la dirección IP pública (externa) del equilibrador de carga de Contour con Envoy.
Consulte Instalar Contour con Envoy.
- 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. - Para acceder al panel de control de Prometheus, desplácese hasta el FQDN de Prometheus con un navegador.