2.使用Helm构建ElasticSearch集群

Posted gytangyao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.使用Helm构建ElasticSearch集群相关的知识,希望对你有一定的参考价值。

作者

微信:tangy8080
电子邮箱:914661180@qq.com
更新时间:2019-05-24 16:08:53 星期五

欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程中的编写的文章
如您在阅读过程中发现文章错误,可添加我的微信 tangy8080 进行反馈.感谢您的支持。
技术图片

文章主题

利用Helm在k8s集群上搭建一个ElasticSearch集群

前置条件

  • 有一个k8s集群
  • 搭建好了NFS服务器
  • 已经安装好了Helm

正文

安装nfs-client-provisioner

使用Helm安装nfs-client-provisioner

nfs-client-provisioner 是一个Kubernetes的简易NFS的外部provisioner,本身不提供NFS,需要现有的NFS服务器提供存储

它使用现有的和已配置的 NFS服务器来支持通过持久卷声明动态配置Kubernetes持久卷

#这里的nfs.server,nfs.path请更改为自己的地址
helm install --name nfs-client --set nfs.server=192.168.161.180,nfs.path=/usr/share/k8s  stable/nfs-client-provisioner

安装成功后,可以在看板中看到存储卷
技术图片

[按需]删除nfs-client-provisioner安装
helm delete nfs-client

安装ElasticSearch集群

使用Helm安装ElasticSearch
helm install --name elasticsearch --set image.tag=6.7.0,client.replicas=3,cluster.name=kubernetes,data.persistence.storageClass=nfs-client,master.persistence.storageClass=nfs-client stable/elasticsearch
  • kibana的版本应该ElasticSearch的版本一致,https://github.com/elastic/kibana#version-compatibility-with-elasticsearch
  • 这里可以安装指定client.replicas的副本数量
  • 存储类请使用已经安装好的nfs-client
  • 扩展资料请参阅 https://github.com/helm/charts/tree/master/stable/elasticsearch

安装后应该可以看到
技术图片

技术图片
技术图片

其中*-elasticsearch-discovery服务被声明为无头服务(无集群IP),仅用于ElasticSearch各个节点之间的相互发现

[按需]删除ElasticSearch安装
helm delete elasticsearch 
kubectl delete pvc -l release=elasticsearch,component=data
kubectl delete pvc -l release=elasticsearch,component=master
helm del --purge elasticsearch

测试集群功能

  • 添加一个索引
#ElasticSearch服务地址可以在看板>服务中看到
curl -XPUT 'http://10.254.89.138:9200/testindex'
"acknowledged":true,"shards_acknowledged":true,"index":"testindex"
  • 删除索引
#ElasticSearch服务地址可以在看板>服务中看到
curl -XDELETE http://10.254.89.138:9200/testindex
"acknowledged":true
  • 常用操作
curl -XDELETE http://10.254.89.138:9200/lamic*
curl 'http://10.254.89.138:9200/_cat/indices?v'

性能调优

  • 负载均衡支持
    A.我们可以为ElasticSearch API使用nginx提供负载均衡,这里不再说明
    B.使用kube-proxy内置了简单的负载均衡(轮询)
    技术图片

可以看到,在K8s内置的服务发现和kube-proxy支持下,已经支持了简单的负载均衡.

引用链接

https://github.com/helm/charts/tree/master/stable/elasticsearch
https://www.cnblogs.com/zlslch/p/6420572.html

以上是关于2.使用Helm构建ElasticSearch集群的主要内容,如果未能解决你的问题,请参考以下文章

helm部署Filebeat + ELK

使用 Dlog4j2.formatMsgNoLookups 在 elasticsearch helm 图表中临时修复 log4j

搭建ElasticSearch7.4.2集群

十九,基于helm搭建EFK日志收集系统

helm 部署

云原生之kubernetes实战在k8s集群下helm工具的安装与使用