Summary: This wiki page shows how to manually install Grafana plugins into the Kubernetes Helm Chart Pods.
Date: 10 August 2025
In this wiki page I'll show you the steps to manually install Grafana plugins into the Kubernetes Helm Chart Pods. This includes the following steps:
We'll be using the helm chart from the Grafana Community Kubernetes Helm Charts repository. The default values file can be found here.
The value file should get updates for persistence and the name of the plugin to allow loading unsigned plugins:
```yaml persistence:
enabled: true
grafana.ini:
plugins: allow_loading_unsigned_plugins: timeseries
```
Note that the plugin we're installing is a custom plugin called 'timeseries'.
First of all we need to know the location of the plugin files in the Grafana pod. This is done by checking the Grafana settings for the plugin path:
/var/lib/grafana/plugins
, is located at the PVC, which is mounted at /var/lib/grafana
. This is important as otherwise the data would be lost on every pod restart.
kubectl cp /mnt/c/Users/sjoerd/plugin/time-series-datasource_V1.2.zip grafananamespace/grafana-pod-5678fgh89-1a2bcd:/var/lib/grafana/plugins -c grafana
-c grafana
specifies the container name in the pod, which is necessary if there are multiple containers in the pod.kubectl exec -it grafananamespace/grafana-pod-5678fgh89-1a2bcd -c grafana -- /bin/sh
cd /var/lib/grafana/plugins/
unzip time-series-datasource_V1.2.zip -d timeseries
If you would do the kubectl cp
command from a Windows powershell or cmdline you could run into errors with kubectl not recognizing the file path. To solve this, you can change your current directory to where the plugin is located and run the command with just the filename without the path.
After installing the plugin, you need to restart the Grafana pod for the changes to take effect. You can do this by scaling the deployment down to 0 and then back up to 1:
```bash kubectl scale deployment grafana –replicas=0 -n grafananamespace kubectl scale deployment grafana –replicas=1 -n grafananamespace ```