Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 2.41 KB

grafana.md

File metadata and controls

48 lines (37 loc) · 2.41 KB

Grafana with CephFS integration

This example will deploy Grafana monitoring tool using CephFS as the storage backend through Ceph CSI.

The first thing we need to configure is the CSI CephFS plugin. You will find an example configuration file that can be modified for your environment in kubernetes/common/ceph-csi-configmap.yaml

Additionally we need to configure a Kubernetes StorageClass. For this to work in your environment you will need to modify the following files:

All the files mentioned above are templates that are getting the variables from ansible/inventory/group_vars/all.yaml. You can modify all the common_* and grafana_* variables to match your environment:

  • common_ceph_*: Details from your Ceph cluster to configure Ceph CSI using cephfs. These include: List of your monitor IP addresses, ceph.conf file contents, cluster ID, users (and keys) to use, and the Pool to use.
  • grafana_admin_*: Username and password for the Grafana administrator.
  • 'letsencrypt_email': The email used to register your SSL certs with Let's Encrypt.

The Ingress to this service is configured with SSL certificates automatically generated by Let's Encrypt. For this to work, we will need to install cert-manager first into the Kubernetes cluster.

The rest of the files the kubernetes/grafana folder will deploy Prometheus, and Grafana, with the necessary Persistent Volume Claims. To simplify embedding the Grafana dashboards into a ConfigMap, we used Helm to be able to template these.

To simplify the deployment of the service and dependencies, you can run the following Ansible playbook from the ansible/ folder:

ansible-playbook -i inventory/hosts deploy_grafana_kubernetes.yaml