ElasticSearch容器化从0到1实践(三)

文章目录

上一节说到了ECK落地的26个关键问题,这一节将对这26个关键点的实施进行详细的说明,并给出符合业务的合理建议。

另外如果你认真看了上一节提到的26个关键问题,并且也对这些关键点表示认同的话,本节一定要细细品鉴,我自认为可以让你收获巨大。

部署Elasticsearch

Elasticserch 样例

在正式开始之前,首先通过官方的示例来创建Elasticsearch集群,简单了解下大概的流程。

Bash 复制代码
cat <<EOF | kubectl apply -f -
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: quickstart
spec:
  version: 8.10.3
  nodeSets:
  - name: default
    count: 1
    config:
      node.store.allow_mmap: false
EOF

观察es服务的启动情况

Bash 复制代码
kubectl get pod | grep es
kubectl get es

至此,一个简单的Es集群就在K8S集群中跑起来了。

但是,这远远还不够,真真在生产环境中使用还会涉及到很多问题,这里先简单描述下现有环境以及需要兼容的问题。

Elasticserch历史环境及痛点

现有环境问题整理,如下

说明 痛点 备注
环境 存在测试、开发、灰度、生产等多套环境 环境复杂,维护成本较高
部署方式 ansible方式部署、采用Ecs+数据云盘方式 有部署门槛,资源碎片严重,维护成本较高
数据管理方式 数据云盘 扩容、更换都需要手动操作
流量接入 直连IP + 默认端口 方式不统一、对业务透明度差
Elasticsearch认证 无认证 不安全 都为内网调用,可以接受
集群版本 6+、7+ 版本不统一、多个小版本存在
进程管理方式 依赖告警发现进程问题, 无法自愈
配置管理 配置混乱,无法复用

根据现有服务现状以及痛点问题, 通过容器化一次性解决,接下来对关键点问题逐步处理,给出合理方案。

关键问题点方案落地

ES集群是否启动TLS/ES是否启动认证

通过ECK方式启动的集群默认会开启TLS,用户在访问时需要通过证书连接。基于现有网络环境及当前的使用方式,决定维持现有状态关闭TLS和认证,在配置文件中增加下面2处配置即可。

YAML 复制代码
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: quickstart
  namespace: elasticsearch
spec:
  version: 7.13.0
  http: # 指定协议类型
    tls:
      selfSignedCertificate:
        disabled: true
  nodeSets:
  - name: default
    count: 1
    config:
      node.store.allow_mmap: false
      xpack.security.enabled: false # 关闭xpack认证

具体配置管理方式及逻辑可以参考源码进行分析,参考文档:https://blog.csdn.net/u012881331/article/details/133925528?csdn_share_tail={"type"%3A"blog"%2C"rType"%3A"article"%2C"rId"%3A"133925528"%2C"source"%3A"u012881331"}

ES节点角色拆分方式

让我歇歇...

参考文档

官方安装文档:https://www.elastic.co/guide/en/cloud-on-k8s/2.8/k8s-deploy-eck.html

相关推荐
Elasticsearch10 小时前
ES8 向量功能窥探系列(二):向量数据的存储与优化
elasticsearch
安审若无11 小时前
Elasticsearch中的监控(Monitoring)功能介绍
elasticsearch·搜索引擎·全文检索
leo_hush12 小时前
elasticsearch基本操作笔记
elasticsearch
咸鱼求放生1 天前
es在Linux安装
大数据·elasticsearch·搜索引擎
xyhshen1 天前
k8s下离线搭建elasticsearch
elasticsearch·容器·kubernetes
@泽栖1 天前
ES数据聚合
elasticsearch·搜索引擎
張萠飛1 天前
Linux下如何使用shell脚本导出elasticsearch中某一个index的数据为本地csv文件
linux·运维·elasticsearch
LanLance1 天前
ES101系列09 | 运维、监控与性能优化
java·运维·后端·elasticsearch·云原生·性能优化·golang
疯狂的沙粒1 天前
如何通过git命令查看项目连接的仓库地址?
大数据·git·elasticsearch
IT成长日记2 天前
Elasticsearch集群手动分片分配指南:原理与实践
大数据·elasticsearch·手动分片分配