使用helm charts安裝elasticsearch集群

helm是kubernetes的包管理器承匣,可以管理k8s的各種資源,并利用charts描述文件做非常復雜的編排功能挂谍,可以說是各種有狀態(tài)發(fā)行軟件的安裝利器√途酰現(xiàn)在各大廠商都出了自身產(chǎn)品的helm安裝包酝惧,本文嘗試使用helm進行es集群的搭建

前提條件:一個可用的kuberenetes集群(1.10以上版本)

安裝helm

方式一:使用官方腳本一鍵安裝

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
$ chmod 700 get_helm.sh
$ ./get_helm.sh

方式二:手動下載安裝(這里安裝目前最新的2.13.1版本)

#從官網(wǎng)下載最新版本的二進制安裝包到本地:https://github.com/kubernetes/helm/releases
# 解壓壓縮包
tar -zxvf helm-2.13.1.tar.gz 
# 把 helm 指令放到bin目錄下
mv helm-2.13.1/helm /usr/local/bin/helm
helm help # 驗證

安裝Tiller

注意:先在 K8S 集群上每個節(jié)點安裝 socat 軟件(yum install -y socat ),不然會報錯伯诬,如果當初使用的kubeadm安裝的k8s晚唇,socat是自動安裝好的

Tiller 是以 Deployment 方式部署在 Kubernetes 集群中的,只需使用以下指令便可簡單的完成安裝盗似。

$ helm init

由于 Helm 默認會去 storage.googleapis.com 拉取鏡像哩陕,很可能訪問不了『帐妫可以直接去阿里云下載鏡像悍及,并打tag,鏡像地址為registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.13.1

Tiller授權(quán)

k8s1.6版本以后默認使用RBAC授權(quán)模式号阿,需要添加賬號及角色才能使tiller正常訪問api-server
創(chuàng)建 Kubernetes 的服務帳號(tiller)和綁定角色(這里賦予cluster-admin角色)

$ kubectl create serviceaccount --namespace kube-system tiller
$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller

為 Tiller 這個deploy設(shè)置剛才創(chuàng)建的帳號

# 使用 kubectl patch 更新 API 對象
$ kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
deployment.extensions "tiller-deploy" patched

驗證tiller是否安裝成功

[root@MiWiFi-R1CM-srv _state]# kubectl get po -n kube-system|grep tiller
tiller-deploy-7cb87ddf7d-274ph            1/1     Running   1          2d1h
[root@MiWiFi-R1CM-srv _state]# helm version
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}

更換倉庫

默認的charts倉庫在googleapi網(wǎng)站上并鸵,速度比較慢,這里我們更換為阿里云的charts倉庫

# 先移除原先的倉庫
helm repo remove stable
# 添加新的倉庫地址
helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
# 更新倉庫
helm repo update

執(zhí)行helm search看一下目前可用的charts扔涧,現(xiàn)在還不多园担,但很多大名鼎鼎的中間件,比如rabbit mq枯夜、mysql弯汰、redismangodb等等都針對helm charts出了高可用版本湖雹,要知道這些中間件的集群搭建可是非常麻煩的咏闪,使用helm可以非常方便的一鍵搭建集群,并且還可以一鍵刪除(為啥不早五年出來摔吏。鸽嫂。。)征讲,以后有機會嘗試一下据某,這次我們要試驗的是elasticsearch集群的搭建。

搭建ES集群

es集群的具體介紹我這里就不展開了诗箍,簡單說是一個基于lucene的高效的分布式全文搜索引擎癣籽,在搜索領(lǐng)域有著十分廣泛的應用。之前弄好了helm環(huán)境滤祖,這邊的操作就十分簡單了筷狼,登陸es的官方helm charts倉庫https://github.com/elastic/helm-charts
按照里面的說明,添加repo源

helm repo add elastic https://helm.elastic.co

安裝

helm install --name elasticsearch elastic/elasticsearch --version 7.0.0-alpha1

執(zhí)行helm inspect可查看各種helm的安裝參數(shù)匠童,每個參數(shù)都有詳細說明埂材,根據(jù)需要選擇即可

由于es的helm安裝的是statefulset(有狀態(tài)副本),里面用到了pvc俏让,所以還需要添加pv信息楞遏,否則pod是起不來的茬暇,因為我這邊只有一個虛擬機,所以使用的是hostpath方式的pv寡喝,實際生產(chǎn)還是要用Local Persistent Volume或者掛載ceph糙俗、nfs這樣的外置存儲,pv文件如下

apiVersion: "v1"
kind: "PersistentVolume"
metadata:
  name: "elasticsearch-master-elasticsearch-master-0"
spec:
  capacity:
    storage: "30Gi"
  accessModes:
    - "ReadWriteOnce"
  persistentVolumeReclaimPolicy: Recycle
  hostPath:
    path: /root/esdata

這樣就聲明了一個name為elasticsearch-master-elasticsearch-master-0的pv预鬓,容量為30G巧骚,掛載在本地的/root/esdata目錄下
執(zhí)行

kubectl create -f local-pv.yaml

創(chuàng)建pv,完成后執(zhí)行

[root@MiWiFi-R1CM-srv ~]# kubectl get pv
NAME                                          CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM                                                 STORAGECLASS   REASON   AGE
elasticsearch-master-elasticsearch-master-0   30Gi       RWO            Recycle          Bound       default/elasticsearch-master-elasticsearch-master-0                           4d1h

可以看到狀態(tài)為BOUND格二,綁定成功劈彪,這里是因為name相同,自動綁定到helm創(chuàng)建的同名pvc上去了顶猜。
這時候再執(zhí)行

[root@MiWiFi-R1CM-srv ~]# kubectl get po
NAME                             READY   STATUS    RESTARTS   AGE
elasticsearch-master-0           1/1     Running   0          89m

可以看到狀態(tài)都ok了沧奴,單節(jié)點的es集群搭建完成

這里面有一個問題,發(fā)現(xiàn)單節(jié)點的情況下长窄,一旦往集群內(nèi)寫入數(shù)據(jù)后滔吠,再刪除該pod,sts會重新分配一個pod起來挠日,名字還是叫elasticsearch-master-0疮绷,掛載目錄也不變,但是就無法加入集群嚣潜,不知道是否和es集群腦裂有關(guān)系冬骚,有懂的高人請指點一下

kibana安裝

kibana是es官配的ui圖形界面,功能十分強大懂算,這邊安裝也十分簡單只冻,直接執(zhí)行

helm install --name kibana elastic/kibana --version 7.0.0-alpha1

即可,集群默認會找http://elasticsearch-master:9200的es集群计技,之前裝es的時候已經(jīng)設(shè)置過(通過k8s的service以及dns服務發(fā)現(xiàn))属愤,修改一下kibana的service默認配置,改成nodeport模式酸役,就可以通過瀏覽器直接訪問了

kibana.png

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市驾胆,隨后出現(xiàn)的幾起案子涣澡,更是在濱河造成了極大的恐慌,老刑警劉巖丧诺,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件入桂,死亡現(xiàn)場離奇詭異,居然都是意外死亡驳阎,警方通過查閱死者的電腦和手機抗愁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門馁蒂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蜘腌,你說我怎么就攤上這事沫屡。” “怎么了撮珠?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵沮脖,是天一觀的道長。 經(jīng)常有香客問我芯急,道長勺届,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任娶耍,我火速辦了婚禮免姿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘榕酒。我一直安慰自己胚膊,他們只是感情好,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布奈应。 她就那樣靜靜地躺著澜掩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪杖挣。 梳的紋絲不亂的頭發(fā)上肩榕,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機與錄音惩妇,去河邊找鬼株汉。 笑死,一個胖子當著我的面吹牛歌殃,可吹牛的內(nèi)容都是我干的乔妈。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼氓皱,長吁一口氣:“原來是場噩夢啊……” “哼路召!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起波材,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤股淡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后廷区,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體唯灵,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年隙轻,在試婚紗的時候發(fā)現(xiàn)自己被綠了埠帕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垢揩。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖敛瓷,靈堂內(nèi)的尸體忽然破棺而出叁巨,到底是詐尸還是另有隱情,我是刑警寧澤琐驴,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布俘种,位于F島的核電站,受9級特大地震影響绝淡,放射性物質(zhì)發(fā)生泄漏宙刘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一牢酵、第九天 我趴在偏房一處隱蔽的房頂上張望悬包。 院中可真熱鬧,春花似錦馍乙、人聲如沸布近。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撑瞧。三九已至,卻和暖如春显蝌,著一層夾襖步出監(jiān)牢的瞬間预伺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工曼尊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留酬诀,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓骆撇,卻偏偏與公主長得像瞒御,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子神郊,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 介紹 Helm 是 Deis 開發(fā)的一個用于 Kubernetes 應用的包管理工具,主要用來管理 Charts涌乳。...
    小波同學閱讀 1,390評論 0 4
  • 參考文檔:Helm 官網(wǎng)Helm Docs What is Helm? Helm helps you manage...
    Mokaffee閱讀 921評論 0 1
  • Helm 是 Kubernetes 的軟件包管理工具践宴。本文需要讀者對 Docker、Kubernetes 等相關(guān)知...
    guoweikuang閱讀 86,494評論 3 86
  • 軒寶寶好不容易才哄睡爷怀,趁著還不算晚,寫點什么吧带欢。 每年年終运授,都會寫點東西烤惊,總結(jié)過往,展望未來吁朦。 ...
    桉梓龍兒閱讀 290評論 1 2
  • 今天早晨代老師讓我6點40到校柒室,指導我從那大群里邊兒寫日記,代老師還讓我看了她錄的一段機器人跳舞的視頻逗宜,我從來沒看...
    朱秉政閱讀 147評論 0 0