部署 Kubernetes 中的 Elasticsearch 和 Kibana

阅读时长 4 分钟读完

本文将介绍如何在 Kubernetes 中部署 Elasticsearch 和 Kibana,并通过一个示例来说明如何使用它们。

Elasticsearch 简介

Elasticsearch 是一款开源的搜索引擎,它基于 Apache Lucene 构建而成,能够快速地存储、搜索和分析大量数据。它不仅可以在单机上运行,还可以通过分布式架构来提高性能和可靠性。

Kibana 简介

Kibana 是一款基于 Elasticsearch 构建的开源数据可视化工具,它能够将 Elasticsearch 中的数据以各种形式展示出来,比如表格、图表、地图等。Kibana 能够通过自定义仪表盘、可视化等方式来帮助用户更深入地理解 Elasticsearch 中的数据。

部署 Elasticsearch 和 Kibana

环境准备

在部署 Elasticsearch 和 Kibana 之前,我们需要准备一些基础环境:

  • Kubernetes 集群:我们需要一个运行中的 Kubernetes 集群。
  • Helm:Helm 是一个 Kubernetes 的包管理工具,我们可以使用 Helm 来轻松安装 Elasticsearch 和 Kibana。

安装 Elasticsearch

为了安装 Elasticsearch,我们首先需要添加 Elasticsearch 的 Helm chart 仓库:

命令执行成功后,我们就可以使用 Helm 来安装 Elasticsearch 了:

Elasticsearch 默认会在 Kubernetes 集群中创建一个 StatefulSet 来运行,这会为我们保留每个实例的永久存储和标识。我们可以使用下面的命令来检查 Elasticsearch 服务的状态:

如果所有的 Pod 均处于 Running 状态,就说明 Elasticsearch 已经成功安装好了。

安装 Kibana

与安装 Elasticsearch 相似,我们同样需要添加 Kibana 的 Helm chart 仓库:

然后使用 Helm 来安装 Kibana:

Kibana 将会实例化 Deployment 和 Service。我们可以使用下面的命令来检查 Kibana 服务的状态:

示例使用

我们可以通过一个示例来说明如何使用 Elasticsearch 和 Kibana。假设我们想要在 Elasticsearch 中存储一些日志数据,并通过 Kibana 来可视化这些数据。

首先,我们可以使用一个简单的 Node.js 应用来模拟产生日志数据,代码如下:

-- -------------------- ---- -------
----- ------------- - -------------------------

----- ------ - --- ----------------------
  ----- -----------------
---

-------------- -- -
  --------------
    ------ -------
    ----- -
      ---------- --- ---------------------
      -------- ------ --------
    --
  -- ----- ----- -- -
    -- ----- -
      -------------------
    - ---- -
      ------------------
    -
  ---
-- ------

上面的代码会每 5 秒产生一条日志数据,并将其发送到 Elasticsearch 中。接下来,我们可以使用 Kibana 来可视化这些数据。我们可以登录到 Kibana 的 Web 界面,使用 KQL 查询语言来搜索指定的索引,如下所示:

然后,我们就可以选择任何可用的可视化方式来呈现我们的数据了。

总结

本文介绍了如何在 Kubernetes 中部署 Elasticsearch 和 Kibana,同时提供了一个示例说明如何使用它们。希望这篇文章能够对您有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/651fa6ec95b1f8cacd72e317

纠错
反馈