簡單的概念介紹:
Chart是helm管理的應用的打包格式,一個chart對應一個或一套應用。內部是一系列的yaml描述文件,以為為yaml 服務的文件。
三個部分,helm 、tiller、repo 。helm,類似於 client,用來執行一些操作命令;tiller,運行依賴k8s環境,接收helm的指令,實際進行集群內部應用的管理;repo,應用的倉庫,獨立於前兩者,提供chart。
1,helm-client下載地址
只是搭建倉庫的話,只需要helm client 不用安裝helm 的server(tiller),k8s或者rancher
2,獲取charts,創建倉庫(repo),更新倉庫
添加倉庫源:helm repo add fantastic-charts https://fantastic-charts.storage.googleapis.com
獲取某個chart: helm search chartName ; 然后,helm fetch chartName。
創建倉庫 :所有要用來組成倉庫的chart的打包格式 要在一個文件夾內,這里假設這個文件夾命名charts,下同。在 charts的上層文件夾執行: helm serve --repo-path ./charts 這會生成一個,index.yaml ,與chart 的包同級目錄。
新加入chart的時候,要更新inde.yaml才能生效。命令; helm repo index ./charts(目錄)
倉庫只識別包(eg: XXX.tgz)的形式。自己創建的chart 需要package 一下,在加入repo。 (helm package chart-name/)
啟動倉庫,在Rancher 里應用
啟動倉庫
(Rancher) 用gitserver的形式,提供倉庫:把各個chart 的文件夾,直接添加到git中,push到遠程倉庫,遠程倉庫的地址即可用在Rancher里。(嚴格意義上並不是一個helm的倉庫,只是一個chart的集合)。
rancher,內添加:Gloable內的 cataLog里,addcataLog,即添加到了Rancher內 。
如果在線的git servier 不能用,可以搭建 git server :
創建 git倉庫:git init --bare name.git
啟動server :git daemon --reuseaddr --base-path=/home/repo(name.git 的外層目錄) --export-all --verbose --enable=receive-pack
還可以直接跑一個gitlab 的鏡像,方便快捷!
Rancher 不支持下面兩種方式的helm repo,可以給helm client用
python 啟http服務的形式,在charts的上層目錄執行: python -m SimpleHTTPServer 8777
然后,http://ip:portnum/charts/ 即為可用的應用商店的地址。
helm serve --repo-path path --address ip:portNum 直接用helm 啟動的方式。
官方doc
http://helm.readthedocs.io/en/latest/
轉載注明出處: