Reportez-vous à ces instructions pour installer Grafana sur un cluster TKG provisionné avec TKr pour vSphere 7.x.
Conditions requises
Reportez-vous à la section Workflow d'installation de modules standard sur TKr pour vSphere 7.x.
Installer Grafana
- Répertoriez les versions de Grafana disponibles dans le référentiel.
kubectl get packages -n tkg-system | grep grafana
- Créez l'espace de noms Grafana.
kubectl create ns tanzu-system-dashboards
- Créez une étiquette PSA pour l'espace de noms.
kubectl label namespace tanzu-system-dashboards pod-security.kubernetes.io/enforce=privileged
- Vous pouvez également créer de manière déclarative l'espace de noms et l'étiquette Grafana à l'aide du fichier
ns-grafana-dashboard.yaml
.apiVersion: v1kind: Namespace metadata: name: grafana-dashboard --- apiVersion: v1 kind: Namespace metadata: name: tanzu-system-dashboards labels: pod-security.kubernetes.io/enforce: privileged
- Créer
grafana-data-values.yaml
.Reportez-vous à la section Référence du module Grafana.
- Créez le secret à l'aide du fichier
grafana-data-values.yaml
en tant qu'entrée.kubectl create secret generic grafana-data-values --from-file=values.yaml=grafana-data-values.yaml -n tkg-system
secret/grafana-data-values created
- Vérifiez le secret.
kubectl get secrets -A
kubectl describe secret grafana-data-values -n tkg-system
- Si nécessaire, personnalisez
grafana-data-values
pour votre environnement.Reportez-vous à la section Référence du module Grafana.
Si vous mettez à jour les valeurs de données, mettez à jour le secret avec la commande suivante.kubectl create secret generic grafana-data-values --from-file=values.yaml=grafana-data-values.yaml -n tkg-system -o yaml --dry-run=client | kubectl replace -f-
secret/grafana-data-values replaced
- Créez la spécification
grafana.yaml
.Reportez-vous à la section Installer Grafana sur TKr pour vSphere 7.x.
- Installer Grafana
kubectl apply -f grafana.yaml
serviceaccount/grafana-sa created clusterrolebinding.rbac.authorization.k8s.io/grafana-role-binding created packageinstall.packaging.carvel.dev/grafana created
- Vérifiez l'installation du module Grafana.
kubectl get pkgi -A | grep grafana
- Vérifiez les objets Grafana.
kubectl get all -n tanzu-system-dashboards
Accéder au tableau de bord Grafana à l'aide d'Envoy LoadBalancer
- Obtenez l'adresse
External-IP
pour le service Envoy de type LoadBalancer.kubectl get service envoy -n tanzu-system-ingress
Vous devez voir l'adresseExternal-IP
renvoyée, par exemple :NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE envoy LoadBalancer 10.99.25.220 10.195.141.17 80:30437/TCP,443:30589/TCP 3h27m
Vous pouvez également obtenir l'adresseExternal-IP
à l'aide de la commande suivante.kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
- Pour vérifier l'installation de l'extension Grafana, mettez à jour votre fichier
/etc/hosts
local avec le nom de domaine complet Grafana mappé à l'adresseExternal-IP
de l'équilibrage de charge, par exemple :127.0.0.1 localhost 127.0.1.1 ubuntu #TKG Grafana Extension with Envoy Load Balancer 10.195.141.17 grafana.system.tanzu
- Accédez au tableau de bord Grafana via
https://grafana.system.tanzu
.Étant donné que le site utilise des certificats auto-signés, vous pouvez éventuellement recevoir un avertissement de sécurité spécifique du navigateur avant de pouvoir accéder au tableau de bord.
- Pour un accès en production, créez deux enregistrements CNAME sur un serveur DNS qui mappent l'adresse
External-IP
de l'équilibrage de charge du service Envoy au tableau de bord Grafana.
Accéder au tableau de bord Grafana à l'aide du port de nœud Envoy
- Changez de contexte pour utiliser l'Espace de noms vSphere où le cluster est provisionné.
kubectl config use-context VSPHERE-NAMESPACE
- Répertoriez les nœuds du cluster.
kubectl get virtualmachines
- Choisissez l'un des nœuds worker et décrivez-le à l'aide de la commande suivante.
kubectl describe virtualmachines tkgs-cluster-X-workers-9twdr-59bc54dc97-kt4cm
- Localisez l'adresse IP de la machine virtuelle, par exemple
Vm Ip: 10.115.22.43
. - Pour vérifier l'installation de l'extension Grafana, mettez à jour votre fichier
/etc/hosts
local avec le nom de domaine complet Grafana mappé à l'adresse IP du nœud worker, par exemple :127.0.0.1 localhost 127.0.1.1 ubuntu # TKG Grafana with Envoy NodePort 10.115.22.43 grafana.system.tanzu
- Accédez au tableau de bord Grafana via
https://grafana.system.tanzu
.Étant donné que le site utilise des certificats auto-signés, vous pouvez éventuellement recevoir un avertissement de sécurité spécifique du navigateur avant de pouvoir accéder au tableau de bord.
grafana-data-values.yaml
grafana-data-values.yaml
.
namespace: tanzu-system-dashboards grafana: pspNames: "vmware-system-restricted" deployment: replicas: 1 updateStrategy: Recreate pvc: accessMode: ReadWriteOnce storage: 2Gi storageClassName: wcpglobalstorageprofile secret: admin_user: YWRtaW4= admin_password: YWRtaW4= type: Opaque service: port: 80 targetPort: 3000 type: LoadBalancer ingress: enabled: true prefix: / servicePort: 80 virtual_host_fqdn: grafana.system.tanzu
grafana.yaml
grafana.yaml
. Mettez à jour la version du module si nécessaire.
apiVersion: v1 kind: ServiceAccount metadata: name: grafana-sa namespace: tkg-system annotations: pod-security.kubernetes.io/enforce: "privileged" --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: grafana-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: grafana-sa namespace: tkg-system --- apiVersion: packaging.carvel.dev/v1alpha1 kind: PackageInstall metadata: name: grafana namespace: tkg-system spec: serviceAccountName: grafana-sa packageRef: refName: grafana.tanzu.vmware.com versionSelection: constraints: 10.0.1+vmware.1-tkg.2 #PKG-VERSION values: - secretRef: name: grafana-data-values