Rancher 部署 Elasticsearch 8.5.1 版本服务

前言

从 es7 升级到 es8 之后,启动容器默认启用了 ssl 安全传输配置,但是在 Rancher 中部署的话,需要挂载 pvc 实现 data、logs 等目录持久化,启用 ssl 需要对证书等进行操作,非常麻烦,非常坑。

本文以启用安全配置(即需要用户名密码接入服务)但不启用 ssl 为例,在 Rancher 中部署 es 8.5.1 版本服务。

因为 pvc 挂载后,目录属主默认为 root 需要改为 elasticsearch ,所以整体部署分为三步:

  1. 需要覆盖容器默认启动脚本,以 root 用户进入容器,将 pvc 挂载目录属主进行更改
  2. 第二步以正常脚本启动容器,使用默认用户 elasticsearch 运行容器
  3. 第三步进入容器命令行,重置内嵌系统用户 elastickibana_system

1. 部署工作负载

1.1 基础信息

在这里插入图片描述

注意点:

  • 由于需要持久化数据目录,所以部署为 StatefulSet 类型
  • 需要对集群外提供服务,所以将 9200 端口以 NodePort 方式映射

1.2 环境变量

在这里插入图片描述

详细说明

# 单节点部署
discovery.type=single-node
# 无需自动下载 geoip
ingest.geoip.downloader.enabled=false
xpack.license.self_generated.type=basic
# 启用密码认证
xpack.security.enabled=true
xpack.security.enrollment.enabled=true
# 不启用 SSL 传输加密,否则需要处理证书等
xpack.security.transport.ssl.enabled=false

1.3 数据卷

在这里插入图片描述

需要将数据目录 data 和日志目录 logs 进行持久化

1.4 入口命令及用户 UID

在这里插入图片描述

  • 入口命令先覆盖镜像自身的命令,使用 /bin/bash
  • 用户 UID 使用 0 即 root

2. 修改挂载目录属主

由于 PVC 挂载目录的属主默认为 root/root,例如:

在这里插入图片描述

进入容器命令行,修改目录属主

chown -R elasticsearch data/
chown -R elasticsearch logs/

在这里插入图片描述

修改后查看 ls -lah

在这里插入图片描述

退出命令行,停止容器。

3. 修改工作负载

在这里插入图片描述

  • 清空入口命令
  • 用户 UID 设置为 1000 即 elasticsearch
  • 重启工作负载

4. 重置用户密码

进入容器命令行,执行重置命令

bin/elasticsearch-reset-password -u elastic -i
# kibana_system 用于 kibana 接入 es
bin/elasticsearch-reset-password -u kibana_system -i

在这里插入图片描述

重置成功后,可以访问 http://宿主机IP:NodePort 端口登录验证

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq12547345/article/details/130370159