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.
- Conditions générales
- Créer le référentiel de modules.
- Installer le gestionnaire de certificats.
- Installer Contour avec Envoy (requis pour accéder au tableau de bord Prometheus).
- Référence du module Prometheus
Créer des valeurs de données Prometheus
Préparez l'installation de Prometheus en créant le fichier de valeurs de données.
- 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. - 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
- 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 estprometheus.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.
- Créez l'espace de noms.
kubectl create ns tanzu-system-monitoring
- 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
- Vérifiez l'installation de Prometheus.
tanzu package installed list -n tanzu-system-monitoring
tanzu package installed get prometheus -n tanzu-system-monitoring
- 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.
- 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=
- 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 -
- 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
- 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.
- Assurez-vous que la section
ingress
du fichierprometheus-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:
- Obtenez l'adresse IP publique (externe) de l'équilibrage de charge Contour avec Envoy.
Reportez-vous à la section Installer Contour avec Envoy.
- 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. - Accédez au tableau de bord Prometheus en accédant au nom de domaine complet de Prometheus à l'aide d'un navigateur.