1. ES容器启动2. ES部署分析3. 部署4. KubeSphere部署ES4.1 创建配置文件4.2 创建指定工作负载问题分析4.3 创建自定义服务4.3.1 创建集群内访问4.3.2 创建集群外访问
1. ES容器启动
# 创建数据目录 mkdir -p /mydata/es-01 && chmod 777 -R /mydata/es-01 # 容器启动 docker run --restart=always -d -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ -v es-config:/usr/share/elasticsearch/config \ -v /mydata/es-01/data:/usr/share/elasticsearch/data \ --name es-01 \ elasticsearch:7.13.4
2. ES部署分析
注意: 子路径挂载,配置修改后,k8s不会对其Pod内的相关配置文件进行热更新,需要自己重启Pod。
3. 部署
- 在Node2节点执行
# 创建数据目录 mkdir -p /mydata/es-01 && chmod 777 -R /mydata/es-01 # 容器启动 docker run --restart=always -d -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ -v es-config:/usr/share/elasticsearch/config \ -v /mydata/es-01/data:/usr/share/elasticsearch/data \ --name es-01 \ elasticsearch:7.13.4
检查
docker ps |grep es-01
一直在重新启动restart,查看
docker logs es-01
进入挂载目录,发现没有权限,赋予777权限
chmod 777 -R /mydata/es-01
等待一会儿。es可以启动了
进入容器
docker exec -it es-01 /bin/bash
4. KubeSphere部署ES
4.1 创建配置文件
- 基本信息
- 数据设置
添加
elasticsearch.yml
还需要创建jvm虚拟机设置
jvm.options
4.2 创建指定工作负载
- 创建有状态副本集
- 添加镜像,使用默认端口
- 设置CPU和内存
- 设置环境变量
其他默认即可。
- 添加存储卷和配置文件
-v /mydata/es-01/data:/usr/share/elasticsearch/data
- 文件夹下只有部分文件需要挂载,设置映射子路径
-v es-config:/usr/share/elasticsearch/config
es的config目录下只需要对外挂载
elasticsearch.yml
和jvm.options
1)挂载配置文件
elasticsearch.yml
2)挂载配置文件
jvm.options
问题
创建es一直处于更新中
分析
存储卷处于【未挂载状态】