It's not recommended to make changes directly to Pods, since they are continuously being replaced.
According to Kibana README.MD there is an option to install Kibana including a Yaml with all the special parameters, including the installation of Plugins.
Here's the full Values.yaml, I encourage you to check all the available parameters.
For Plugin installation we will be looking into lines 179-188 from default Values.yaml:
plugins:
# set to true to enable plugins installation
enabled: true
# set to true to remove all kibana plugins before installation
reset: false
# Use <plugin_name,version,url> to add/upgrade plugin
values:
- elastalert-kibana-plugin,1.0.1,https://github.com/bitsensor/elastalert-kibana-plugin/releases/download/1.0.1/elastalert-kibana-plugin-1.0.1-6.4.2.zip
- logtrail,0.1.31,https://github.com/sivasamyk/logtrail/releases/download/v0.1.31/logtrail-6.6.0-0.1.31.zip
Add or remove the desired plugins respecting the plugin_name,version,url format.
Save your file as values.yaml and run:
$ helm install stable/kibana --generate-name -f values.yaml
The defined plugins will be available once the service starts.
You can verify your values.yaml
was processed by looking for the plugin names in the pod description:
$ kubectl --namespace=default describe pods -l "app=kibana"
Name: kibana-1578496954-595c5856c7-82xbr
...///supressed output///...
Init Containers:
kibana-plugins-install:
Container ID: docker://937c95da139361d8c0e524f9850ad6ab63e9364dc7c51c65a66fe6bb3445ceed
Image: docker.elastic.co/kibana/kibana-oss:6.7.0
Image ID: docker-pullable://docker.elastic.co/kibana/kibana-oss@sha256:9af7fbceb7c9a746df1f7dc79d2b3bb320f0fddf9b06a3cc12fd8f903902e731
Command:
/bin/bash
-c
set -e
rm -rf plugins/lost+found
plugins=(
elastalert-kibana-plugin,1.0.1,https://github.com/bitsensor/elastalert-kibana-plugin/releases/download/1.0.1/elastalert-kibana-plugin-1.0.1-6.4.2.zip
logtrail,0.1.31,https://github.com/sivasamyk/logtrail/releases/download/v0.1.31/logtrail-6.6.0-0.1.31.zip