2.使用Helm构建ElasticSearch集群

作者

微信:tangy8080
电子邮箱:[email protected]
更新时间: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

原文地址:https://www.cnblogs.com/gytangyao/p/11407223.html

时间: 2024-08-30 01:00:15

2.使用Helm构建ElasticSearch集群的相关文章

针对httptest4net构建elasticsearch集群压力测试用例

httptest4net是可以自定义HTTP压力测试的工具,用户可以根据自己的情况编写测试用例加载到httptest4net中并运行测试.由于最近需要对elasticsearch搜索集群进行一个不同情况的测试,所以针对这个测试写了个简单的测试用例. 代码 1 [Test("ES base")] 2 public class ES_SearchUrlTester : IUrlTester 3 { 4 5 public ES_SearchUrlTester() 6 { 7 8 9 } 10

针对httptest4net构建elasticsearch集群压力测用例

httptest4net是可以自定义HTTP压力测试的工具,用户可以根据自己的情况编写测试用例加载到httptest4net中并运行测试.由于最近需要对elasticsearch搜索集群进行一个不同情况的测试,所以针对这个测试写了个简单的测试用例. 代码 [Test("ES base")] public class ES_SearchUrlTester : IUrlTester { public ES_SearchUrlTester() { } public string Url {

elasticsearch集群介绍及优化【转】

elasticsearch用于构建高可用和可扩展的系统.扩展的方式可以是购买更好的服务器(纵向扩展)或者购买更多的服务器(横向扩展),Elasticsearch能从更强大的硬件中获得更好的性能,但是纵向扩展也有一定的局限性.真正的扩展应该是横向的,它通过增加节点来传播负载和增加可靠性.对于大多数数据库而言,横向扩展意味着你的程序将做非常大的改动来利用这些新添加的设备.对比来说,Elasticsearch天生是分布式的:它知道如何管理节点来提供高扩展和高可用.这意味着你的程序不需要关心这些.对于大

ELK+Filebeat+Nginx集中式日志解决方案(二)——添加ElasticSearch集群

一.使用说明: Elasticsearch插件:  Elasticsearch常用的几个插件为: # head # 地址  https://github.com/mobz/elasticsearch-head mobz/elasticsearch-head # kopf # 地址  https://github.com/lmenezes/elasticsearch-kopf lmenezes/elasticsearch-kopf # bigdesk # 地址 https://github.com

基于swarm的elasticsearch集群搭建

es集群构建: 1.安装head插件: for Elasticsearch 5.x: docker run -p 9100:9100 mobz/elasticsearch-head:5 ( docker run -p 9100:9100 10.211.121.26/library/elasticsearch-head ) 出现问题 head主控页面是可以显示的,但是显示连接失败 "集群健康值: 未连接" 解决方案 修改elasticsearch.yml文件 vim $ES_HOME$/

手把手教你搭建一个 Elasticsearch 集群

为何要搭建 Elasticsearch 集群 凡事都要讲究个为什么.在搭建集群之前,我们首先先问一句,为什么我们需要搭建集群?它有什么优势呢? 高可用性 Elasticsearch 作为一个搜索引擎,我们对它的基本要求就是存储海量数据并且可以在非常短的时间内查询到我们想要的信息.所以第一步我们需要保证的就是 Elasticsearch 的高可用性,什么是高可用性呢?它通常是指,通过设计减少系统不能提供服务的时间.假设系统一直能够提供服务,我们说系统的可用性是 100%.如果系统在某个时刻宕掉了,

搭建一个Elasticsearch集群

一.为何要搭建 Elasticsearch 集群 凡事都要讲究个为什么.在搭建集群之前,我们首先先问一句,为什么我们需要搭建集群?它有什么优势呢? (1)高可用性 Elasticsearch 作为一个搜索引擎,我们对它的基本要求就是存储海量数据并且可以在非常短的时间内查询到我们想要的信息.所以第一步我们需要保证的就是 Elasticsearch 的高可用性,什么是高可用性呢?它通常是指,通过设计减少系统不能提供服务的时间.假设系统一直能够提供服务,我们说系统的可用性是 100%.如果系统在某个时

ElasticSearch集群服务器配置

一.安装 简单的安装与启动于前文ElasticSearch初探(一)已有讲述,这里不再重复说明. 二.启动 1.自带脚本启动 1)bin/elasticsearch,不太任何参数,默认在前端启动 2)bin/elasticsearch-d,带参-d,表示在后台作为服务线程启动 还可以设置更多的参数:bin/elasticsearch-Xmx2g-Xms2g-Des.index.store.type=memory--node.name=my-node 注意:如果是在局域网中运行elasticsea

Docker compose v3版本构建跨主机容器编排构建wordpress集群

在Docker 1.13版本之后,可以说Docker 对于compose容器调度编排实现了飞跃,可以使得在编排容器的时候可以结合Docker swarm集群和跨主机通讯的概念.在Docker swarm 的基础之上引入stack对service镜像管理和编排.下面我们实战一下用之前构建wordpress集群来测试一下: 环境要求: 1.存在了Docker swarm集群: [[email protected] ~]# docker node ls ID