【问题标题】:how to install a kibana-plugin in kibana hosted on kubernetes?如何在 kubernetes 上托管的 kibana 中安装 kibana 插件?
【发布时间】:2020-01-08 06:41:20
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我们喜欢在这里您解释您已经尝试过的内容。我的意思是在谷歌或其他搜索引擎上搜索可能已经让你上路了。请花点时间阅读指南“如何提出一个好问题?”这里:stackoverflow.com/help/how-to-ask

标签: docker elasticsearch kubernetes kibana kibana-plugin


【解决方案1】:

您需要使用插件扩展 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

【讨论】:

    【解决方案2】:

    不建议直接对 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
    
    

    【讨论】:

      【解决方案3】:

      我认为最简单的方法是使用 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
      

      【讨论】:

      • 我可以安装 Kiban 服务,但我想知道如何使用清单文件安装 kibana-plugins。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      • 2017-06-23
      • 1970-01-01
      • 2020-08-19
      相关资源
      最近更新 更多