前提:搭建好了helm和tiller這兩個(gè)軟件,這里將使用helm來(lái)安裝zookeeper和kafka(主要是kafka要依賴zookeeper)。
大綱:
一、tiller搭建的repo倉(cāng)庫(kù)的開啟(博主暫時(shí)采用的方案)
二、搭建的大致思路(因?yàn)?。。。所以。?!?
三、zookeeper的char包的制作
四、kafka的char包的制作
五、kafka的安裝
六、成果的驗(yàn)證(暫時(shí)還未測(cè)試kafka的具體細(xì)節(jié))
網(wǎng)站:
1、helm的官方網(wǎng)站:https://helm.sh/ 備注:主要是可以查看相關(guān)的文檔方便
2、char包的離線下載url:https://github.com/helm/charts 備注:可以直接下載下來(lái),然后傳到服務(wù)器上
3、char包的在線下載url:https://hub.kubeapps.com/ 備注:服務(wù)器可以連接外網(wǎng)時(shí)使用
備注:這篇文章目前只會(huì)寫一個(gè)簡(jiǎn)單的安裝方式,沒(méi)有掛載持久存儲(chǔ)卷,哈哈,因?yàn)樵┲鬟€沒(méi)研究清楚(總有一個(gè)掛不上去,待研究)。
一、tiller搭建的repo倉(cāng)庫(kù)的開啟
helm的安裝和tiller的搭建參考另一篇文章:http://www.itdecent.cn/p/2bb1dfdadee8
[root@cma-cluster-slave5 local]# pwd
/root/.helm/repository/local
[root@cma-cluster-slave5 local]# helm serve
Regenerating index. This may take a moment.
Now serving you on 127.0.0.1:8879
再另外開一個(gè)shell窗口
[root@cma-cluster-slave5 ~]# helm repo list
NAME URL
stable http://10.16.48.44/
local http://127.0.0.1:8879/charts #這兒就可以顯示出當(dāng)前所有的倉(cāng)庫(kù)列表了
二、搭建的大致思路
背景
? ? 因?yàn)閗afka的元數(shù)據(jù)存儲(chǔ)在zookeeper中,所以要先制作zookeeper,然后制作kafka。因?yàn)槲覜](méi)有采用先單獨(dú)安裝zookeeper,再單獨(dú)安裝kafka的方式;而是采用了將兩個(gè)char包都做好,直接運(yùn)行安裝kafka,然后由kafka自動(dòng)安裝依賴的zookeeper的方式。這里需要在kafka中制作zookeeper的請(qǐng)求文件
三、zookeeper的char包的制作
? ? 將從 https://github.com/helm/charts 下載的包傳到安裝了helm客戶端的服務(wù)器上,然后解壓縮。
? ? 修改 charts/incubator/zookeeper 中的 value.yaml 文件,將其中的鏡像地址(字段為:repository,版本號(hào)為:tag)進(jìn)行更改,然后將持久卷(字段為:persistence(默認(rèn)為true,修改為false))的選項(xiàng)關(guān)閉掉(后面研究清楚了再開)。
? ? 注意:在進(jìn)行鏡像地址的修改時(shí),可以看到value.yaml文件中可以搜到好幾個(gè)這樣的鏡像名稱,有的鏡像前面有一個(gè)字段:enabled: false,代表是否啟動(dòng)這個(gè)鏡像,如果你選擇為false,則不需要去管這段相關(guān)的配置文件,因?yàn)槟悴粫?huì)去啟用
[root@cma-cluster-slave5 zookeeper]# pwd
/root/charts/incubator/zookeeper
[root@cma-cluster-slave5 zookeeper]# vim value.yaml
[root@cma-cluster-slave5 zookeeper]# helm package ../zookeeper
[root@cma-cluster-slave5 zookeeper]# ls #發(fā)現(xiàn)生成了一個(gè).tgz文件
? ? 查看本地倉(cāng)庫(kù)是否有kafka的tgz包
[root@cma-cluster-slave5 kafka]# helm search zookeeper
NAME CHART VERSION APP VERSION DESCRIPTION
local/zookeeper 1.2.2 3.4.10 Centralized service for maintaining configuration informa...
再切換到本地倉(cāng)庫(kù)的目錄下,發(fā)現(xiàn)也生成了.tgz文件,還有一個(gè)index.yaml文件,里面記錄了一些倉(cāng)庫(kù)的信息。
[root@cma-cluster-slave5 ~]# cd /root/.helm/repository/local/
[root@cma-cluster-slave5 local]# ls
index.yaml zookeeper-1.2.2.tgz #看到.tgz文件,同時(shí)生成了index.yaml文件
四、kafka的char包的制作(基本操作同上)
? ? 1、修改 charts/incubator/kafka 中的value.yaml文件,將其中的鏡像地址(字段為:image,版本字段為:imageTag)進(jìn)行更改,然后將持久卷(字段為:persistence)的選項(xiàng)關(guān)閉掉(后面研究清楚了再開)
? ? 2、修改kafka中的 requirements.yaml 文件,將其中zookeeper的依賴倉(cāng)庫(kù)地址更改為本地的 tiller 的 repo 的地址(本博主的是:http://127.0.0.1:8879/charts,想改的話,可以將version版本號(hào)改為和你的一樣,其余的不需要改動(dòng))
[root@cma-cluster-slave5 kafka]# pwd
charts/incubator/kafka
[root@cma-cluster-slave5 kafka]# vim value.yaml #修改鏡像地址和關(guān)閉存儲(chǔ)卷功能
[root@cma-cluster-slave5 kafka]# vim requirements.yaml #將url鏈接替換成你的本地tiller的repo
[root@cma-cluster-slave5 kafka]# rm -rf requirements.lock #刪除原來(lái)的文件
[root@cma-cluster-slave5 kafka]# helm dependency update ../kafka #將zookeeper的rexxx.lock文件更新
[root@cma-cluster-slave5 kafka]# helm package ../kafka
? ? 備注:helm dependency update ../kafka 和 helm package ../kafka也可以直接合成一條命令:helm package --dependency-update ../kafka
? ? 查看本地倉(cāng)庫(kù)是否有kafka的tgz包
[root@cma-cluster-slave5 kafka]# helm search kafka
NAME CHART VERSION APP VERSION DESCRIPTION
local/kafka 0.13.4 5.0.1 Apache Kafka is publish-subscribe messaging rethought as ..
五、kafka的安裝
? ? 直接執(zhí)行命令進(jìn)行安裝即可
[root@cma-cluster-slave5 ~]# helm install --name my-kafka local/kafka
[root@cma-cluster-slave5 ~]# helm list #可以查看到啟動(dòng)了服務(wù)
[root@cma-cluster-slave5 ~]# kubectl get pod -o wide #可以看到相關(guān)的服務(wù)正在慢慢啟動(dòng)(等待,服務(wù)啟動(dòng)比較慢)