作者:梦露的殇_192 | 来源:互联网 | 2024-12-01 12:23
选择 Elasticsearch 认证插件
为了实现 Elasticsearch 的基本权限管理,我们可以选择使用社区提供的免费插件 ReadonlyREST。该插件支持多种认证方式,包括基于用户名和密码的 HTTP 基本认证。
访问官网 https://readonlyrest.com/download/,根据您的需求选择合适的插件版本。通常需要提供使用的 Elasticsearch 版本和有效的电子邮件地址来获取下载链接。
创建 Dockerfile
本例中使用的是 Elasticsearch 6.8.0 版本。首先创建一个 Dockerfile 文件,用于定义构建自定义 Elasticsearch 镜像的过程:
FROM elasticsearch:6.8.0
COPY readonlyrest-1.18.0_es6.8.0.zip /plugins/readonlyrest-1.18.0_es6.8.0.zip
RUN sh -c 'echo -e "y" | /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///plugins/readonlyrest-1.18.0_es6.8.0.zip'
构建 Docker 镜像
使用以下命令构建自定义的 Elasticsearch 镜像:
docker build -t elasticsearch:6.8.0 .
构建过程中可能遇到网络问题导致下载缓慢或失败,可以通过配置 Docker 使用国内镜像加速服务,如阿里云提供的 https://registry.docker-cn.com 或网易的 http://hub-mirror.c.163.com。
配置 ReadonlyREST 插件
创建配置文件 readonlyrest.yml
,设置基本的认证规则:
readonlyrest:
access_control_rules:
- name: "HTTP Basic Auth Required"
type: allow
auth_key: 用户名:密码
完成上述步骤后,即可启动 Elasticsearch 容器:
docker run -d --name elasticsearch -u 1000:1000 -v /d/data/elasticsearch6.8.0:/usr/share/elasticsearch/data -v /d/docker/elasticsearch6.8.0/readonlyrest.yml:/usr/share/elasticsearch/config/readonlyrest.yml -e "discovery.type=single-node" -e "xpack.security.enabled=false" -e "TZ=Asia/Shanghai" -p 9200:9200 elasticsearch:6.8.0
确保容器运行无误后,可通过浏览器访问 http://127.0.0.1:9200/ 并使用配置文件中设定的凭证登录,查看 Elasticsearch 的基本信息。
安装 Kibana 进行数据可视化
Kibana 是一个强大的数据分析与可视化平台,适用于 Elasticsearch 数据。通过以下命令安装 Kibana,并将其与之前部署的 Elasticsearch 实例关联起来:
docker run -d --name kibana -e ELASTICSEARCH_URL=http://192.168.1.8:9200 -e ELASTICSEARCH_USERNAME="您的用户名" -e ELASTICSEARCH_PASSWORD="您的密码" -p 5601:5601 kibana:6.8.0
请确保 Kibana 和 Elasticsearch 的版本相匹配,以避免兼容性问题。安装完成后,通过浏览器访问 http://127.0.0.1:5601 即可开始使用 Kibana 进行数据探索和分析。