作者

微信: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

安装后应该可以看到



其中*-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

最新文章

  1. Java下载文件(流的形式)
  2. SQL Server 积累
  3. Swift 必备开发库10个
  4. Eclipse使用指定JDK,无需配置Path变量
  5. linux系统编程之lseek帮助文档
  6. awk同时处理多个文件
  7. IntelliJ IDEA Community Edition 14.1.4下 javafx scenebuilder的使用
  8. 流控panabit的安装及配置
  9. 使用Navicat for Oracle 出现的错误
  10. 【leetcode】92. Reverse Linked List II
  11. Socket层实现系列 — I/O事件及其处理函数
  12. Java+selenium+feeder+AutoIt+自动加载插件
  13. 【单调队列优化dp】 分组
  14. Unity3D-RayMarch-几何图元0
  15. Flask主要知识点
  16. JAVA常用设计模式(一、单例模式、工厂模式)
  17. Matlab 编程
  18. Quest *nix Xwindows
  19. [Objective-C语言教程]决策结构(10)
  20. RCC 2014 Warmup (Div. 2) A~C

热门文章

  1. ALV中layout布局控制详解
  2. 核酸检测:让我明白AQS原理
  3. JS实现植物大战僵尸小游戏,代码记录及效果展示
  4. 制作 Ubuntu 16.04 离线apt源
  5. Centos 安装postgreSQL9.4.3
  6. 13 | 实战:单机如何实现管理百万主机的心跳服务? https://time.geekbang.org/column/article/240656
  7. JAVAV EMAIL
  8. vscode远程开发安装
  9. 题解【CF1444A Division】
  10. loj10161 叶子的颜色