Consulte estas instrucciones para instalar Grafana en un clúster de TKG aprovisionado con TKr para vSphere 7.x.
Requisitos previos
Consulte Flujo de trabajo para instalar paquetes estándar en TKr para vSphere 7.x.
Instalar Grafana
Instale Grafana.
- Enumere las versiones de Grafana disponibles en el repositorio.
kubectl get packages -n tkg-system | grep grafana
- Cree el espacio de nombres de Grafana.
kubectl create ns tanzu-system-dashboards
- Cree una etiqueta de PSA para el espacio de nombres.
kubectl label namespace tanzu-system-dashboards pod-security.kubernetes.io/enforce=privileged
- Como alternativa, cree de forma declarativa la etiqueta y el espacio de nombres de Grafana mediante el archivo
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
- Cree
grafana-data-values.yaml
.Consulte Referencia del paquete de Grafana.
- Cree un secreto con el archivo
grafana-data-values.yaml
como entrada.kubectl create secret generic grafana-data-values --from-file=values.yaml=grafana-data-values.yaml -n tkg-system
secret/grafana-data-values created
- Compruebe el secreto.
kubectl get secrets -A
kubectl describe secret grafana-data-values -n tkg-system
- Si es necesario, personalice
grafana-data-values
en función de su entorno.Consulte Referencia del paquete de Grafana.
Si actualiza los valores de datos, actualice el secreto con el siguiente comando.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
- Cree la especificación
grafana.yaml
.Consulte Instalar Grafana en TKr para vSphere 7.x.
- Instale 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
- Compruebe la instalación del paquete de Grafana.
kubectl get pkgi -A | grep grafana
- Compruebe los objetos de Grafana.
kubectl get all -n tanzu-system-dashboards
Acceder al panel de control de Grafana mediante Envoy LoadBalancer
Si se implementa el servicio Contour Envoy de tipo LoadBalancer como requisito previo y lo especificó en el archivo de configuración de Grafana, obtenga la dirección IP externa del equilibrador de carga y cree registros de DNS para el FQDN de Grafana.
- Obtenga la dirección
External-IP
para el servicio Envoy de tipo LoadBalancer.kubectl get service envoy -n tanzu-system-ingress
Debería ver la direcciónExternal-IP
que se devuelve, por ejemplo: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
Si lo prefiere, puede obtener la direcciónExternal-IP
mediante el siguiente comando.kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
- Para comprobar la instalación de la extensión Grafana, actualice el archivo
/etc/hosts
local con el FQDN de Grafana asignado a la direcciónExternal-IP
del equilibrador de carga, como por ejemplo:127.0.0.1 localhost 127.0.1.1 ubuntu #TKG Grafana Extension with Envoy Load Balancer 10.195.141.17 grafana.system.tanzu
- Para acceder al panel de control de Grafana, desplácese hasta
https://grafana.system.tanzu
.Dado que el sitio utiliza certificados autofirmados, es posible que tenga que pasar por una advertencia de seguridad específica del navegador antes de poder acceder al panel de control.
- Para el acceso de producción, cree dos registros CNAME en un servidor DNS que asignen la dirección
External-IP
del equilibrador de carga del servicio Envoy al panel de control de Grafana.
Acceder al panel de control de Grafana mediante NodePort de Envoy
Si se implementa el servicio Contour Envoy de tipo NodePort como requisito previo y lo especificó en el archivo de configuración de Grafana, obtenga la dirección IP de la máquina virtual de un nodo de trabajo y cree registros de DNS para el FQDN de Grafana.
- Cambie el contexto a la instancia de espacio de nombres de vSphere en la que se aprovisiona el clúster.
kubectl config use-context VSPHERE-NAMESPACE
- Enumere los nodos del clúster.
kubectl get virtualmachines
- Seleccione uno de los nodos de trabajo y describa el nodo mediante el siguiente comando.
kubectl describe virtualmachines tkgs-cluster-X-workers-9twdr-59bc54dc97-kt4cm
- Busque la dirección IP de la máquina virtual; por ejemplo,
Vm Ip: 10.115.22.43
. - Para comprobar la instalación de la extensión Grafana, actualice el archivo
/etc/hosts
local con el FQDN de Grafana asignado a una dirección IP de nodo de trabajo, como por ejemplo:127.0.0.1 localhost 127.0.1.1 ubuntu # TKG Grafana with Envoy NodePort 10.115.22.43 grafana.system.tanzu
- Para acceder al panel de control de Grafana, desplácese hasta
https://grafana.system.tanzu
.Dado que el sitio utiliza certificados autofirmados, es posible que tenga que pasar por una advertencia de seguridad específica del navegador antes de poder acceder al panel de control.
grafana-data-values.yaml
Consulte el archivo
grafana-data-values.yaml
de ejemplo.
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
Consulte la especificación
grafana.yaml
de ejemplo. Actualice la versión del paquete según sea necesario.
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