0

我有一个在 Kubernetes 之上运行的现有 Kibana 服务。如何在其中安装自定义 Kibana 插件。

我尝试通过在 pod 中运行以下命令来安装插件。但是插件不起作用。

bin/kibana-plugin install file:///tmp/myplugin-1.0.0.zip

我应该重新启动 Kibana 服务以使插件工作吗?如果是,如何在 Kubernetes 上重启 Kibana 服务?或者,我还缺少其他步骤吗?

4

3 回答 3

0

我认为最简单的方法是使用 helm chart 安装 kibana:https ://github.com/helm/charts/tree/master/stable/kibana

Helm 允许您在 kubernetes 上安装应用程序,而只需配置一些选项,对于 kibana,您可以设置已安装插件的列表。查看上面的链接以获取有关配置 kibana 图表的详细信息,您可以在他们的网站上查看有关 helm 的更多信息:https ://helm.sh/docs/intro/quickstart/

为了安装图表,您使用包含配置的文件 (values.yaml)。在该文件中,显示在我链接到的图表中,您有以下部分:

plugins:
  # set to true to enable plugins installation
  enabled: false
  # 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
    # - other_plugin

所以在你的情况下,你会使用这样的东西:

plugins:
  enabled: true
  values:
  - myplugin, 0.1,http://_your_publicly_available_url/myplugin-1.0.0.zip
于 2020-01-08T08:19:51.050 回答
0

不建议直接对 Pod 进行更改,因为它们会不断被替换。

根据Kibana README.MD,有一个安装 Kibana 的选项,包括带有所有特殊参数的 Yaml,包括插件的安装。

这是完整的Values.yaml,我鼓励您检查所有可用的参数。

对于插件安装,我们将从默认 Values.yaml 中查看第 179-188 行:

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

根据plugin_name,version,url格式添加或删除所需的插件。

将文件另存为 values.yaml 并运行:

$ helm install stable/kibana --generate-name -f values.yaml

服务启动后,定义的插件将可用。

您可以通过在 pod 描述中查找插件名称来验证您是否values.yaml已处理:

$ 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

于 2020-01-08T15:40:13.540 回答
0

您需要使用插件扩展 kibana docker 映像。使用扩展镜像在k8s集群中部署kibana

请参阅下面的示例


FROM docker.elastic.co/kibana/kibana-oss:6.1.1

RUN kibana-plugin install https://github.com/sivasamyk/logtrail/releases/download/v0.1.25/logtrail-6.1.1-0.1.25.zip
于 2020-01-08T07:07:07.753 回答