rancher上部署elasticsearch

步骤一、先建立elaticsearch配置映射(configMap)

映射键:elasticsearch.yml

映射值:

cluster.name: "docker-cluster"
network.host: 0.0.0.0
xpack.security.enabled: false
xpack.security.authc.accept_default_password: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
http.cors.enabled: true
http.cors.allow-origin: "*"

对应的操作图如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bpbmd3ZWljaGVuZw==,size_16,color_FFFFFF,t_70

 

步骤二、建立elasticsearch 工作负载-部署配置 

 

工作负载配置界面的信息如下:

 

镜像地址:

daocloud.io/library/elasticsearch:7.7.1

挂载路径:

/usr/share/elasticsearch/config/elasticsearch.yml

挂载子路径:

elasticsearch.yml

环境变量:

ES_JAVA_OPTS :   -Xms64m -Xmx128m

discovery.type : single-node 

 

elasticsearch.yml挂载的configmap内容如下:

其中如果xpack.security.enabled: false属性配置为false则不需要密码就可以访问elasticsearch,

如果配置成 true,则需要账号密码才能访问elasticesearch

cluster.name: "docker-cluster"
network.host: 0.0.0.0
xpack.security.enabled: false
xpack.security.authc.accept_default_password: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true

 

 对应的操作图如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bpbmd3ZWljaGVuZw==,size_16,color_FFFFFF,t_70

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bpbmd3ZWljaGVuZw==,size_16,color_FFFFFF,t_70

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bpbmd3ZWljaGVuZw==,size_16,color_FFFFFF,t_70

 

 

步骤三: 工作负载配置完,容器启动后,配置elasticsearch的用户名与密码,为了方便,所有用户统一输入elastic

进入pod容器内部需要执行的命令如下:

bin/elasticsearch-setup-passwords interactive

然后输入按提示继续输入y , 然后一直输入elastic , 配置所有用户的密码为elastic 

操作图如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bpbmd3ZWljaGVuZw==,size_16,color_FFFFFF,t_70

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bpbmd3ZWljaGVuZw==,size_16,color_FFFFFF,t_70

 

 

步骤四、验证elasticsearch 是否可以访问

由于配置的是节点端口访问:

所以输入节点的地址+端口,  http://master:30002  (自己根据实际情况填写 , 我这里的master 在host中配置了节点的ip的)

然后输入用户名elastic   密码  elastic 即可

操作图如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bpbmd3ZWljaGVuZw==,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bpbmd3ZWljaGVuZw==,size_16,color_FFFFFF,t_70

步骤五: 可以通过配置负载均衡域名来访问es

具体可以参考以下截图进行配置

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

 

配置完后,就可以通过负载均衡域名访问es,

直接输入http://负载均衡域名即可

假设负载均衡域名是  elasticsearch.com

则访问地址是  http://elasticsearch.com/

访问成功截图如下:

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

 注意点

1.  数据卷映射-模式输入框 最好输入 777  保证挂载的文件权限没问题   

2. 数据卷的容器路径需要填写elasticserach.yml的全路径,且子路径输入框 elasticsearch.yml  需要与挂载的配置映射下的 键名 elasticsearch.yml 保持一致

如下两个操作的红色框保持一致, 

如果配置映射键名为elasticsearch.yml 则子路径填写的也应该是elasticsearch.yml,

代表容器路径的内容,挂载的是配置映射对应的elasticsearch.yml的键值的内容

如果配置映射键名为elasticsearch2.yml 则子路径填写的也应该是elasticsearch2.yml,  

代表容器路径的内容,挂载的是配置映射对应的elasticsearch2.yml的键值的内容

如下图所示:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bpbmd3ZWljaGVuZw==,size_16,color_FFFFFF,t_70

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bpbmd3ZWljaGVuZw==,size_16,color_FFFFFF,t_70

 

3. 由于配置了权限访问,故访问elasticsearch-restful-api 接口时需要指定用户名,如下所示为 创建索引接口调用形式:

curl -XPUT -u elastic  master:30002/product     ,然后输入密码elastic

操作图如下:

20210121225435363.png

 

对应的docker容器启动命令

docker run 
--name elasticsearch -p 9200:9200 \ -p 9300:9300 \ 
-e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
 -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 
 \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data 
\ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.7

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,您可以按照以下步骤在 Rancher 2.6.2 上部署 Elasticsearch: 1. 创建一个新的命名空间,比如叫做 `elasticsearch`。 2. 在该命名空间下创建一个 StatefulSet,用于部署 Elasticsearch。您可以使用以下 YAML 文件作为模板: ```yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: elasticsearch namespace: elasticsearch spec: serviceName: elasticsearch replicas: 3 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: containers: - name: elasticsearch image: elasticsearch:7.10.2 ports: - containerPort: 9200 name: http - containerPort: 9300 name: transport volumeMounts: - name: elasticsearch-data mountPath: /usr/share/elasticsearch/data volumes: - name: elasticsearch-data persistentVolumeClaim: claimName: elasticsearch-data volumeClaimTemplates: - metadata: name: elasticsearch-data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 10Gi ``` 这个 YAML 文件定义了一个名为 `elasticsearch` 的 StatefulSet,使用了 Elasticsearch 7.10.2 的镜像。它有 3 个副本,并且在每个 Pod 中都会挂载一个名为 `elasticsearch-data` 的卷(使用了一个 PVC 模板)。这个 PVC 模板会创建一个 10GB 的持久卷,用于存储 Elasticsearch 的数据。 3. 部署上述 YAML 文件,创建 StatefulSet 和 PVC。 4. 检查 StatefulSet 是否已经成功创建,并等待所有 Pod 运行起来。您可以使用以下命令进行检查: ``` kubectl get statefulset -n elasticsearch kubectl get pods -n elasticsearch ``` 5. 确认 Elasticsearch 是否可以正常访问。您可以在任意一个 Pod 中执行以下命令,来检查 Elasticsearch 是否正常运行: ``` curl -X GET "localhost:9200/_cat/health?v&pretty" ``` 如果 Elasticsearch 正常运行,您应该会看到一个类似以下的消息: ``` epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1615503890 04:24:50 elasticsearch green 3 3 15 15 0 0 0 0 - 100.0% ``` 6. 完成部署后,您可以通过访问任意一个 Pod 的 `9200` 端口来访问 Elasticsearch。如果您希望使用 Kubernetes Service 来访问 Elasticsearch,可以创建一个新的 Service,使用以下 YAML 文件: ```yaml apiVersion: v1 kind: Service metadata: name: elasticsearch namespace: elasticsearch spec: selector: app: elasticsearch ports: - name: http port: 9200 targetPort: 9200 ``` 然后,您可以使用创建的 Service 来访问 Elasticsearch,比如使用以下命令: ``` curl -X GET "http://<elasticsearch-service>:9200/_cat/health?v&pretty" ``` 注意将 `<elasticsearch-service>` 替换为实际的 Service 名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成伟平2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值