Dejan Lukić

How to Deploy Grafana on Kubernetes using Plural

Originally written for Plural.

Grafana is a popular open-source platform that enables developers to query, visualize, alert and analyze their metrics, logs and traces wherever they are stored. It allows users to create and share interactive, customizable dashboards that display real-time metrics from various sources.

Grafana includes more than 30 data sources out of the box. This makes it a strong option for creating interactive dashboards and alerts for various data sources while also offering the benefits of being open-source.

It's known for its flexibility in creating complex and interactive dashboards, and it can be more cost-effective, particularly for large-scale environments, as there are no per-metric costs unlike in tools like Datadog. Moreover, Grafana's self-hosted nature can offer more control over data privacy and compliance, a factor which may be critical in certain industries.

If you want to deploy Grafana on Kubernetes yourself, you must manually configure manifests and other configuration files. This isn’t an impossible task, but regular manual involvement is needed to handle production-level operations and monitoring.

Moreover, this approach differs among various cloud providers and platforms.

Conversely, Plural is a free, open-source Kubernetes DevOps platform allowing you to deploy production-ready Kubernetes clusters with little management experience.

Prerequisites

To deploy Grafana on a Kubernetes cluster, you must create an account with Plural. To do so, head to app.plural.sh and follow the instructions.

You can also locally deploy a Kubernetes cluster using the Plural CLI. Before doing so ensure that you already have either a AWS, GCP or Azure cloud account with admin access, your cloud providers CLI properly installed and configured and either a GitHub or GitLab account.

Creating and configuring a Kubernetes cluster with Plural

  1. After creating your account you'll be prompted to go through Plural's onboarding process. From here you'll be taken to a cloud shell environment and click on Get Started.

  2. Click on use your own cloud. From there you'll be prompted to select if you want to use our cloud shell experience or install the CLI on your local machine. It is recommended to use our cloud shell for a quick and easy experience.

  3. Create a GitHub or GitLab repository to store the state of the deployment. Plural manages all cluster configurations via Git and will provision a GitHub repository on your behalf. This repository is set up using scoped deploy keys to store the state of your workspace, and no OAuth credentials are persisted.

  4. Choose your cloud provider. Plural is a solution that deploys and manages infrastructure in a user’s cloud environment, it needs relatively high levels of access to your cloud environment. As a result, you need to provide a service account to Plural so it can authenticate against your cloud environment.

    Choose your cloud provider and enter in your cloud credentials for Plural to create a K8 cluster for you.

  5. Choose a distinct name for the cluster created for the deployment. Afterward, specify a unique prefix for the bucket and a subdomain for creating DNS.

    Configure your Kubernetes deployment and enter in a unique cluster name.

  6. Review that the information you entered is correct, and if so click create. Note: This step can take a few minutes.

    Review that your Kubernetes configuration is correct before Plural creates a K8 cluster.

Plural will now create a cloud shell environment for you, which will take a few minutes. Afterward, you’ll be asked to choose which applications you wish to install on a new Kubernetes cluster.

How to Install Grafana on the Kubernetes Cluster with Plural

After your project completes initializing, you will be presented with Plural Console. Now, we will install Grafana - a data visualization and analytics platform.

  1. Search for Grafana in the install apps window. Select Grafana and press continue.

    Install Grafana on Kubernetes with Plural.

  2. Next, you'll enter a Virtual Private Cloud (VPC) name where the Grafana deployment will reside, ensuring Plural has a clean environment to deploy into and minimizes disruption to existing systems.

  3. Enter a wal bucket name.

  4. Next, if you earlier chose to install the Plural Console alongside your Grafana installation you’ll be prompted to configure your Plural Console environment.

  5. Lastly, enter a hostname for the Grafana installation. Note: It's recommended to name the hostname after the application. You'll then confirm everything looks good before deploying (note this step can take up to 15 minutes.)

  6. Once everything is up and running your screen should look similar to this.

    Plural Console

Accessing the Plural Console

Deployed within the same cluster as the managed applications, the Plural Console acts as a central operational hub and offers several essential functionalities for effective management.

To enter the Plural Console, navigate to the “Plural Console URL” from the Cloud Shell.

Accessing and Configuring the Grafana Deployment

You can access the Grafana Dashboard through the Cloud Shell link or the Plural Console.

Deploy Grafana on Kubernetes using Plural.

Inside the Plural Console, press Launch next to the Grafana to access the Dashboard. By enabling OIDC previously, you won’t need to manage authentication.

Grafana will ask you to enter the credentials provided in the Cloud Shell. After that, you’re done. Continue by adding your data sources and dashboards.

Check out your Grafana Dashboards on Kubernetes using Plural.

Next Steps and Resources

Through this article, you have learned how to:

View original

#cloud #grafana #kubernetes #plural