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