Deploying a Grafana to Kubernetes using Application Template
Objective
This tutorial shows you how to quickly deploy a Grafana application in KubeSphere via App Template, demonstrating the basic functionality of the application repository, application templates, and application management.
Prerequisites
You’ve completed all steps in Getting Started with Multi-tenant Management.
Hands-on Lab
Step 1: Add a Application Repository
Note: The application repository can be either the Object Storage, e.g. QingStor Object Storage, AWS S3, or GitHub Repository. The packages are composed of Helm Chart template files of the applications. Therefore, before adding an application repository to KubeSphere, you need to create an object storage and upload Helm packages in advance. This tutorial prepares a demo repository based on QingStor Object Storage.
1.1. Sign in with admin
account and navigate to Platform → Platform Settings → App Repositories, then Click Add App Repository.
1.2. Fill in the basic information, name it as demo-repo and input the URL with https://helm-chart-repo.pek3a.qingstor.com/kubernetes-charts/
, you can validate if this URL is available, choose OK when you’ve done.
1.3. Click App Templates on the top of this page, it will automatically import all of the applications from the demo repository.
Step 2: Deploy the Grafana Application
2.1. When you’ve already added the repository, you can logout and sign in with project-regular
account. Then select App Templates on the top of this page, input “grafana” in the search box to find the application.
2.2. Click into grafana, Deploy App and fill in the basic information.
2.3. Name can be customized by yourself, choose the corresponding Workspace (e.g. demo-workspace
) and Project (e.g. demo-project
) as the environment. Then choose Deploy to deploy Grafana to KubeSphere.
2.4. Back to the demo-project
and choose Applications, then you can see the application grafana
showing active
from the application list.
Step 3: View App Details
3.1. Click into grafana
application, you will be able to see its Services and Workloads in Resource Status
page, as well as Environmental Variables and App Template information.
3.2. Next we are going to expose this service outside of the cluster via NodePort. Enter into its service e.g. grafana-l47bmc
, then click More → Edit Internet Access.
3.3. Select NodePort
from the drop down list.
3.4. Therefore it will generate a Node Port, for example, here is 31126
that we can access this service using <$NodeIP>:<$NodePort>
.
Step 4: Access the Grafana Service
At this point, you will be able to access the Nginx service via ${Node IP}:${NODEPORT}
, e.g. http://192.168.0.88:31126
, or click the button Click to visit to access the Grafana dashboard.
4.1. Note that you have to obtain the account and password from the grafana secret in advance. Navigate to Configuration Center → Secrets, click into grafana-l47bmc (Type: Default).
4.2. Click the button to display the secret information, then copy and paste the value of admin-user and admin-password.
4.3. Open the Grafana log in page, sign in with the admin account.