kubernetes搭建es集群

在Kubernetes环境中,使用7.2.0版本的Elasticsearch时,搭建集群遇到挑战,因为新的discovery机制需要指定固定的master节点。通过将部署方式从Deployment切换到StatefulSet解决主机名不可预测的问题,确保集群能正常选举master并运行。配置文件和使用Rancher部署的建议也一同提供。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:(es环境为7.2.0)
新版废弃了原先discovery.zen.ping.unicast.hosts及discovery.zen.minimum_master_nodes的探测方式,而是改为了discovery.seed_hosts及cluster.initial_master_nodes,其中第一项换汤不换药,值还是一样的,我们还是填内部服务域名,而后一项就有点恶心了,这项在实体服务器上配置没任何问题,把符合master节点的ip或主机名配进去就可以了,但在k8s环境下,master节点的ip是pod ip,随即分配的,主机名由于是deployment下部署的,主机名的尾巴也是随机字符,同样无法指定,不配的话各节点服务器无法选举master,无法组成集群。

办法:将es-master部署方式由depolyment调整至statefulset,这样就解决了主机名无法指定的问题,配置如下:

- name: cluster.initial_master_nodes
value: "elasticsearch-master-0,elasticsearch-master-1,elasticsearch-master-2"

下面是配置文件,全放一起了

---
kind: StatefulSet
metadata:
  labels:
    app: elasticsearch
    role: master
  name: elasticsearch-master
  namespace: elastic
spec:
  replicas: 2
  serviceName: elasticsearch-master
  selector:
    matchLa
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值