云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南

samri
发布于 2022-4-16 17:28
浏览
0收藏

1、昨晚上更新云服务器部署8.0视频


Part1:https://t.zsxq.com/UJ6AY7y
Part2:https://t.zsxq.com/YzVrZJq


2、Elasticsearch 8.0 云服务部署和之前方式到底有什么不同?


默认的不修改任何配置的官方推荐的部署方式,很快!基本上 0 配置修改动动鼠标即可完成部署。参考如下文章:

 

Windows 部署 Elasticsearch + kibana 8.0 指南

 

但,云服务行不通?为啥?

 

以我自己的腾讯云服务器为例:

 

服务器是命令行模式登录,没法以浏览器方式访问。

 

而官方推荐的快捷部署方式,在kibana 端提供的访问方式如下:

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

这个 localhost 针对的是云服务器,在我们本机是搞不定的。

 

更进一步说,官方提供的快捷的部署方式,针对的是本机有浏览器可以访问的场景,没有或者鲜有考虑云服务器部署情况。

那怎么办?

 

其实这个问题,我思考了好几个晚上。

 

最终还得回归本源:自己搞安全的方式,不用官方自动生成的 CA 和 密钥方式进行安全通信。

 

为什么?可控。

 

一方面:Elasticsearch 可控。


另一方面:与之安全通信的 Kibana 端 可用。


3、云服务器部署8.0集群的整体认知


一图胜千言,接下来我们怎么做一目了然!

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区3.1 步骤1:先用默认的安装方式搞定 Elasticsearrch 安全配置。


验证机制:

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区这一步,保存一下 elastic 密码,最后 kibana 访问要用。

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

3.2 Elasticsearch 端改成自己生成CA 和 证书


3.2.1 TLS tcp 加密通信设置


参考:

 

https://www.elastic.co/guide/en/elasticsearch/reference/current/security-basic-setup.html

 

步骤1:生成或创建认知中心。

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区步骤2:生成 TCP tls 加密通信的证书

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区步骤3:修改 elasticsearch.yml 的安全配置


设置:集群名称(按照业务需求来)设置:节点名称(按照业务需求来)设置:TLS 安全加密,参考如下:

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

注意:这和自动生成的是一样的。改一下认证名称就可以。

 

步骤4:将密码存储在密钥库(这一步是坑,必须过!!)


这一步貌似 7.X 没有!

 

如果您在创建节点证书时输入了密码,请运行以下命令将密码存储在 Elasticsearch 密钥库中:

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

到这里,其实 TCP 安全通信部分配置完毕。

 

如果,此时启动 Elasticsearch, 至少不会报 TLS 加密相关的错误了。

 

由于,没有设置 Https,此时启动会报 http.p12 相关的 https 认证的错误。

 

3.2.2 Https 加密通信设置


参考:

 

https://www.elastic.co/guide/en/elasticsearch/reference/current/security-basic-setup-https.html

 

这块步骤非常多,直接按照官方文档来,就没有问题。

 

如果有问题,可以多来几遍!别怕出错。

 

步骤1:生成 Http 的证书

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

这里很多细节步骤,一步步到底怎么来?

 

建议参考官方文档。

 

步骤2:将生成的 zip 文件解压缩为 elasticsearch 和 kibana 两个文件夹。


zip 文件:elasticsearch-ssl-http.zip,解压缩后截图如下所示:

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

这两个分别就是:ES 端 Https 的安全加密机制和 kibana与ES 端加密通信机制所需。

 

官方给出的 sample-elasticsearch.yml 和 sample-kibana.yml 暖暖的,很贴心。

 

步骤3:在elasticsarch 端配置生成的 http.p12 证书。


其实我们用默认之前生成的就可以。

 

只需要把新生成的证书拷贝到给定的 config/certs 路径下面就可以。

 

步骤4:将密码存储在密钥库(这一步是坑,必须过!!)

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

到这里,其实 Elasticsearch 单独启动已没有报错了。

 

4、kibana 安全配置怎么搞?


其实:sample-kibana.yml 给出详细说明。

 

4.1 与elasticsearch 端默认的Http通信要改成 Https。

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区4.2 使用生成的证书。


前提:证书拷贝到 config 路径下面。

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

4.3 需要配置非 elastic 管理员账户和密码


注意:7.X 版本 可以使用 elastic 账户的,8.0 安全需要,已被禁用。

 

默认给出了 kibana_system 账户,密码咋搞?

 

可以借助 reset_password 命令行工具实现。

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区直接:

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

会自己帮我们生成密码,拷贝一下即可。

 

然后改动配置,参考如下:

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

至此,kibana 安全部署完毕。

 

5、kibana 启动完成验证是否成功!

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南-鸿蒙开发者社区

输入最早保存的 elastic 密码就可以了(参考3.1步骤)。


大功告成!!!

 

成文于:2022年02月27日 07:42

 

文章转自公众号:铭毅天下Elasticsearch

分类
已于2022-7-19 15:34:46修改
收藏
回复
举报
回复
    相关推荐