Seguire queste istruzioni per installare Prometheus con Alertmanager in un cluster Servizio TKG che esegue TKr per vSphere 8.x.
Prerequisiti
Attenersi ai seguenti prerequisiti.
- Requisiti generali
- Creazione del repository dei pacchetti.
- Installare Gestione certificati.
- Installazione di Contour con Envoy (necessario per accedere al dashboard di Prometheus).
- Informazioni di riferimento sul pacchetto Prometheus
Creazione dei valori dei dati di Prometheus
Preparare l'installazione di Prometheus creando il file dei valori dei dati.
- Ottenere la versione più recente del pacchetto Prometheus per il repository.
tanzu package available get prometheus.tanzu.vmware.com -n tkg-system
Oppure, tramite kubectl.
kubectl -n tkg-system get packages | grep prometheus
Nota: In genere, è consigliabile utilizzare la versione più recente a meno che i requisiti non siano diversi. - Generare il file
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
dove:- 2.45.0+vmware.1-tkg.2 è la versione del pacchetto di destinazione
- prometheus-data-values.yaml è il nome e il percorso del file dei valori dei dati da generare
- Modificare il file
prometheus-data-values.yaml
e configurare i valori seguenti necessari per accedere al dashboard di Prometheus. Vedere Informazioni di riferimento sul pacchetto Prometheus per un file dei valori dei dati di esempio e l'elenco completo dei parametri di configurazione.Parametro Descrizione ingress.tlsCertificate.tls.crt
Per l'ingresso viene generato un certificato TLS autofirmato. Facoltativamente, è possibile sostituirlo e fornire il proprio. ingress.tlsCertificate.tls.key
Per l'ingresso viene generata una chiave privata TLS autofirmata. Facoltativamente, è possibile sostituirlo e fornire il proprio. ingress.enabled
Impostare il valore su true
(il valore predefinito è false).ingress.virtual_host_fqdn
Impostare il valore su prometheus.<your.domain>
(il valore predefinito èprometheus.system.tanzu
).alertmanager.pvc.storageClassName
Immettere il nome del criterio di storage vSphere. prometheus.pvc.storageClassName
Immettere il nome del criterio di storage vSphere.
Installare Prometheus
Completare questi passaggi per installare il pacchetto Prometheus.
- Creare lo spazio dei nomi.
kubectl create ns tanzu-system-monitoring
- Installare 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
- Verificare l'installazione di Prometheus.
tanzu package installed list -n tanzu-system-monitoring
tanzu package installed get prometheus -n tanzu-system-monitoring
- Verificare gli oggetti di Prometheus e Alertmanager.
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
Risoluzione dei problemi di installazione di Prometheus
Se l'operazione
tanzu package install prometheus
restituisce l'errore "Impossibile ottenere l'indirizzo di annuncio finale: nessun indirizzo IP privato trovato e l'IP esplicito non è stato specificato", applicare un overlay di pacchetto per riconfigurare il componente alertmanager.
- Creare il file
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=
- Utilizzare Kubectl per creare un segreto dal file
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 -
- Utilizzare Kubectl per annotare il pacchetto Prometheus con il segreto di overlay.
kubectl annotate PackageInstall prometheus -n tkg-system ext.packaging.carvel.dev/ytt-paths-from-secret-name.1=alertmanager-overlay
- Eseguire nuovamente il comando di installazione.
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
Accedere al dashboard di Prometheus
Una volta installato Prometheus, completare i passaggi seguenti per accedere al dashboard di Prometheus.
- Assicurarsi che la sezione
ingress
del fileprometheus-data-values.yaml
sia compilata con tutti i campi obbligatori.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:
- Ottenere l'indirizzo IP pubblico (esterno) del bilanciamento del carico di Contour con Envoy.
- Creare un record DNS che mappa il nome di dominio completo di Prometheus utilizzato (il valore predefinito è
prometheus.system.tanzu
) all'indirizzo IP del bilanciamento del carico di Envoy. - Accedere al dashboard di Prometheus passando al nome di dominio completo di Prometheus utilizzando un browser.