千家信息网

基于Kubernetes的ESaaS架构及实现细节是怎样的

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,基于Kubernetes的ESaaS架构及实现细节是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。概述ESaaS(
千家信息网最后更新 2026年11月02日基于Kubernetes的ESaaS架构及实现细节是怎样的

基于Kubernetes的ESaaS架构及实现细节是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

概述

ESaaS(ElasticSearch as a Service)是ElasticSearch on Kubernetes的产品实现,是利用Docker和Kubernetes等容器虚拟化和编排调度系统,将ElasticSearch抽象为CaaS(Container as a Service)平台上的一种服务,实现秒级创建和扩缩容一个用户自定义的ElasticSerach集群,并且保证高可用和数据安全等方面。

关键组件

  • ElasticSearch 2.x

  • Kubernetes 1.9

  • Docker 1.12.6

解决的痛点:

  • ES集群初始化部署周期长,从申请服务器到交付,可能需要数天。

  • 部署过程自动化程度不高,开发测试环境中纯手动部署,线上半自动化部署,经常出错需要调测环境。

  • 集群的扩容也是人为操作,效率低且容易犯错。

  • ES服务器经常面临资源浪费的情况。

  • 各种插件的安装麻烦,并且有些需要重启节点,人为操作不当会带来风险。

  • 没有提供完善的ES集群和服务器的监控告警方案。

  • 没有提供配套的Kibana服务,人工部署Kibana并对接ES效率低。

  • ES集群之间没做资源隔离,机架机柜的物理隔离等。

  • 没有接入日志系统,查看系统和ES集群日志很不方便。

目标

  • 集群统一管理Portal,提供ES集群自助申请和集群信息看板;

  • 提供用户配额管理;

  • 秒级扩容缩容;

  • 完整的平台和ES集群监控和告警能力;

  • 提供统一的ES集群配置修改入口;

  • 外围插件的自助部署;

  • 节点的自助安全重启等;

架构

高可用部署架构

必要说明

  • ESaaS Portal提供用户云上自助申请ES集群和运维的入口,ESaaS做好相关业务逻辑能力,最终调用后端Kubernetes API进行ES集群的创建和管理;ESaaS Portal要求对接权限管理系统,进行用户登录验证和权限控制;

  • 为了保证ElasticSearch集群的高可用,在开发测试环境,要求同一个ES集群的同一个role(比如client/master/data)的ES nodes不能有多个部署在同一台服务器上;在生产环境,以上情况则要求跨机架部署;

  • ES集群在Kubernetes中目前均考虑使用本地存储,不用分布式存储;

  • ES集群的data node Pod需要挂载两个hostpath volume,分别为存储data的data volume和存储ES plugin的plugin volume,对应服务器上的hostpath /es/$cluser-name/data/data和/es/$cluser-name/data/plugin;

  • ES集群的master和client node Pod需要挂载一个hostpath volume,存储ES plugin的plugin volume,对应服务器上的hostpath /es/$cluser-name/client(or master)/plugin;

  • ESaaS平台提供Apache httpd服务用于托管常用插件,称为ES Plugin Repository,目前优先考虑托管jar类型plugin。某个ES集群要给某个或者某些ES nodes安装jar plugins时,将从ES Plugin Repository中下载plugin文件到对应的/es/$cluser-name/client(or data,master)/plugin;

逻辑架构

必要说明

  • 每个ES集群的data nodes的部署通过一个Kubernetes StatefulSet来管理;

  • 每个ES集群的master nodes的部署通过一个Kubernetes Deployment来管理,并通过一个Kubernetes Headless Service来做master nodes的反向代理,这样在KubeDNS中该Headless Service Name对应解析到每个ES master nodes Pod的IP地址;

  • 每个ES集群的client nodes的部署通过Kubernetes Deployment来管理,并通过一个Kubernetes NodePort Service来做client nodes的反向代理(后续ES集群数多了后,考虑使用Ingress Nginx来代理ES client),每个ES集群对外暴露$Client-IP:$NodePort;

  • 同一个ES集群中所有nodes的elasticsearch.yml均使用如下规则的部分配置:

      cluster.name: "elasticsearch-${NAMESPACE}"        node.name: "${POD_NAME}-${NAMESPACE}"        network.host: ${POD_IP}        # hosts填写ES master的Headless Service Name        discovery.zen.ping.unicast.hosts: "es-${NAMESPACE}"

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

集群 服务 管理 服务器 存储 架构 环境 用户 系统 平台 插件 代理 安全 必要 入口 情况 效率 日志 机架 权限 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 精品咖啡豆 什么是科技互联网 互联网加科技 互联网科技公司华为 科技互联网公司装修 智网互联网科技 互联网 的科技创新 亿人帮互联网科技 互联网科技公司招聘 互联网科技公司需要的职位 中国科技互联网公司收入 荆州市昕露互联网络科技有限公司 佛山市拉法互联网科技有限公司 朱啸虎曾投资哪些互联网科技企业 城市宝互联网科技有限公司 互联网科技包装股份有限公司上市 江苏互联网科技小贷 广西泛欧互联网科技有限公司 互联网科技创新创业项目 科技发展第三阶段互联网时代 南京欣网互联网络科技有限公司 科技互联网产品 互联网科技社 滨湖区互联网智能科技产品供应 富国互联网科技创新基金 科技互联网的估值 恒生互联网科技业指数调整周期 上海钢联属于互联网科技股吗 广州百诚互联网科技有限公司官网 盐城市攀科互联网科技有限公司
0