[云原生专题-52]:Kubesphere云治理-操作-分步部署基于微服务的业务应用 - 搜索中间件Elasticsearch微服务部署过程
Posted 文火冰糖的硅基工坊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[云原生专题-52]:Kubesphere云治理-操作-分步部署基于微服务的业务应用 - 搜索中间件Elasticsearch微服务部署过程相关的知识,希望对你有一定的参考价值。
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122931767
目录
1.2 在dockerhub找到Redis部署的所需要配置参数
3.1 创建clusterIP service对象(只能集群内部访问)
3.2 创建NodePort service对象(可以通过公网访问微服务)
前言:
Elasticsearch是微服务业务应用程序的中间件,其本身也是微服务,可以单独部署,遵循微服务部署基本过程。
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、php、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
第1步:前置条件
1.1 在Kubesphere选择项目空间(名字空间)
1.2 在dockerhub找到Redis部署的所需要配置参数
(1)docker hub主页
(2)search “Elasticsearch”
https://hub.docker.com/_/elasticsearch
$ docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag
$ docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d --name ES01 elasticsearch:7.2.0
1.3 Redis server部署的规划
(1)挂载用于数据持久化的卷
(2)挂载目录中的两个配置文件,而不是整个目录,这是与Redis和mysql不一样的地方。
如果亦然采用挂载整个目录的方式,会导致部分文件被清空。
这里只选择elasticsearch.yml为例。并且这里的配置文件,并不是有容器外部创建的,而是由Elasticsearch镜像自己创建,只是暴露到docker外部,以便于docker外部可以修改该文件。
也就是说,初始的配置文件,并非在容器外生成!!!
1.4 预先在微服务外部创建PVC持久化卷
方法可以同mysql, 但这里采用不创建,由Kubesphere在创建微服务时候,自动创建(推荐做法)
1.5 预先在微服务外部创建的配置文件
# Elasticsearch.yaml configuration
cluster.name:"docker-cluster"
network.host:0.0.0.0
第2步:部署Redis 微服务
2.1 安装容器镜像
2.2 挂在外部数据持久化卷
2.3 挂载外部配置文件(这一步是关键)
这里有几个关键的地方:
(1)挂载的容器的路径是子路径,而不是根目录,子路径中指定的是容器内部要挂载出去的配置文件的文件名。
(2)对应的容器外的路径由es-conf指定,es-conf里面有可能多个文件,因此需要指出容器内的文件映射到容器外的文件的名字。这里选择相同名字。
2.4 检查镜像安装情况
进入容器,检查配置文件是否正确。
第3步:为Redis部署创建Service对象
3.1 创建clusterIP service对象(只能集群内部访问)
名字不容易记忆,删除该默认服务,创建一个新的clusterIP service
进入ES pod内部,通过测试如下的访问命令
# 通过service name访问微服务
$ curl his-es.his:9200
3.2 创建NodePort service对象(可以通过公网访问微服务)
在集群外(公网主机),通过IE浏览器访问:
# 通过service name访问微服务
$ http://公网IP地址:31300
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122931767
以上是关于[云原生专题-52]:Kubesphere云治理-操作-分步部署基于微服务的业务应用 - 搜索中间件Elasticsearch微服务部署过程的主要内容,如果未能解决你的问题,请参考以下文章
[云原生专题-48]:Kubesphere云治理-操作-多租户概念概述
[云原生专题-46]:Kubesphere云治理-安装-在K8S的基础之上快速安装
[云原生专题-49]:Kubesphere云治理-操作-分步部署基于微服务的业务应用 - 基本过程与步骤
[云原生专题-60]:Kubesphere云治理-DevOps-自动化开发与自动化上云部署流程概述
[云原生专题-47]:Kubesphere云治理-安装-在Linux平台上进行单机版安装
[云原生专题-53]:Kubesphere云治理-操作-通过Kubesphere应用商店一键部署微服务应用-消息中间件RabbitMQ的安装与部署