Kunbernetes-容器云應(yīng)用的安裝部署工具Helm

1、Helm介紹

在Kubernetes中部署容器云的應(yīng)用也是一項有挑戰(zhàn)性的工作器贩,Helm就是為了簡化在Kubernetes中安裝部署容器云應(yīng)用的一個客戶端工具夺克。通過helm能夠幫助開發(fā)者定義、安裝和升級Kubernetes中的容器云應(yīng)用忘衍,同時逾苫,也可以通過helm進行容器云應(yīng)用的分享。在Kubeapps Hub中提供了包括Redis枚钓、MySQL和Jenkins等參見的應(yīng)用铅搓,通過helm可以使用一條命令就能夠?qū)⑵洳渴鸢惭b在自己的Kubernetes集群中。

helm的整體架構(gòu)如下圖所示搀捷,Helm架構(gòu)由Helm客戶端星掰、Tiller服務(wù)器端和Chart倉庫所組成;Tiller部署在Kubernetes中嫩舟,Helm客戶端從Chart倉庫中獲取Chart安裝包氢烘,并將其安裝部署到Kubernetes集群中。

image

Helm是管理Kubernetes包的工具至壤,Helm能提供下面的能力:

  • 創(chuàng)建新的charts
  • 將charts打包成tgz文件
  • 與chart倉庫交互
  • 安裝和卸載Kubernetes的應(yīng)用
  • 管理使用Helm安裝的charts的生命周期

在Helm中威始,有三個需要了解的重要概念:

  • chart:是創(chuàng)建Kubernetes應(yīng)用實例的信息集合;
  • config:創(chuàng)建發(fā)布對象的chart的配置信息
  • release:chart的運行實例像街,包含特定的config

1.1 Helm組件

在Helm中有兩個主要的組件黎棠,既Helm客戶端和Tiller服務(wù)器:

Helm客戶端:這是一個供終端用戶使用的命令行工具,客戶端負責如下的工作:

  • 本地chart開發(fā)

  • 管理倉庫

  • 與Tiller服務(wù)器交互

    • 發(fā)送需要被安裝的charts
    • 請求關(guān)于發(fā)布版本的信息
    • 請求更新或者卸載已安裝的發(fā)布版本

Tiller服務(wù)器:Tiller服務(wù)部署在Kubernetes集群中镰绎,Helm客戶端通過與Tiller服務(wù)器進行交互脓斩,并最終與Kubernetes API服務(wù)器進行交互。 Tiller服務(wù)器負責如下的工作:

  • 監(jiān)聽來自于Helm客戶端的請求
  • 組合chart和配置來構(gòu)建一個發(fā)布
  • 在Kubernetes中安裝畴栖,并跟蹤后續(xù)的發(fā)布
  • 通過與Kubernetes交互随静,更新或者chart

客戶端負責管理chart,服務(wù)器發(fā)展管理發(fā)布吗讶。

1.2 Helm技術(shù)實現(xiàn)

Helm客戶端是使用Go語言編寫的燎猛,它通過gRPC協(xié)議與Tiller服務(wù)器交互。

Tiller服務(wù)器也是使用Go語言編寫的照皆,它使用Kubernetes客戶端類庫(當前是哦那個REST+JSON)與Kubernetes進行通訊重绷。

Tiller服務(wù)器通過Kubernetes的ConfigMap存儲信息,因此本身沒有用于存儲數(shù)據(jù)庫膜毁。

3昭卓、使用Helm

Helm所使用的包格式為chart愤钾,chart是描述Kubernetes資源的文件集合。通過chart能夠部署類似于memcache等簡單的應(yīng)用候醒,或者能夠部署類似于Http服務(wù)器能颁、數(shù)據(jù)庫等復雜的應(yīng)用。此文主要就chart目錄倒淫、chart.yaml文件和values.yaml文件進行介紹伙菊。

3.1 Chart目錄結(jié)構(gòu)

在使用Helm之前,先以wordpress為例來看一下一個Chart都包含哪些內(nèi)容:

wordpress/ Chart.yaml # 必需::包含關(guān)于chart信息的YAML文件 LICENSE # 可選: chart的license描述文件 README.md # 可選:可讀的說明文件 requirements.yaml # 可選:列示chart依賴的YAML文件 values.yaml # ****必需:chart默認的配置值文件 charts/ # 可選:包含chart所有依賴的目錄 templates/ # 可選:包含模板文件的目錄 templates/NOTES.txt # 可選:部署后的使用說明

3.2 chart.yaml文件介紹

對于chart來說昌简,chart.yaml文件是必需的文件占业,此文件的內(nèi)容如下:

name: 必需绒怨,chart的名稱 version: 必需纯赎,SemVer 2的版本 description: 可選,此項目的一句話描述 keywords: – 可選南蹂,此項目的關(guān)鍵詞列表 home: 可選犬金,此項目主頁面的URL sources: – 可選,此項目的源代碼URL列表 maintainers: # 可選 – name: 維護者的名字

email: 維護者的email地址 url: 維護者的URL engine: gotpl # 可選六剥,模板引擎的名稱 icon: 可選晚顷,被使用的SVG或者PNG格式圖標的URL appVersion: 可選,應(yīng)用的版本 deprecated: 可選疗疟,標識吃chart是否將要被廢棄 tillerVersion: chart所要求的Tiller服務(wù)器的版本

3.3 values.yaml文件介紹

chart的配置文件values.yaml所包含的內(nèi)容如下例子所示:
imageRegistry: "quay.io/deis" dockerTag: "latest" pullPolicy: "Always" storage: "s3"

chart的配置文件values.yaml所包含的內(nèi)容如下例子所示:
$ helm install --values=myvals.yaml wordpress
通過給定–values參數(shù)的方式该默,helm會將此參數(shù)給定的YAML文件的內(nèi)容與默認values.yaml文件的內(nèi)容進行合并,例如在myvals.yaml文件的內(nèi)容是:
storage: "gcs"
合并后的文件內(nèi)容將如下所示:
imageRegistry: "quay.io/deis" dockerTag: "latest" pullPolicy: "Always" storage: "gcs"

4 Chart應(yīng)用倉庫

在chart中可以包含一個默認的values.yaml文件策彤,Helm安裝命令也允許通過–values參數(shù)指定應(yīng)該YAML文件:
Kubeapps Hub(https://hub.kubeapps.com)作為公共的chart應(yīng)用倉庫栓袖,目前在上面已經(jīng)以chart的格式提供Nginx、Jenkins店诗、Redis等常用應(yīng)用裹刮。在此倉庫中可以發(fā)現(xiàn)符合自己需要的Kubernetes應(yīng)用,或者發(fā)布自己以chart格式構(gòu)建的Kubernetes應(yīng)用庞瘸。

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捧弃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子擦囊,更是在濱河造成了極大的恐慌违霞,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞬场,死亡現(xiàn)場離奇詭異买鸽,居然都是意外死亡,警方通過查閱死者的電腦和手機泌类,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門癞谒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來底燎,“玉大人,你說我怎么就攤上這事弹砚∷裕” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵桌吃,是天一觀的道長朱沃。 經(jīng)常有香客問我,道長茅诱,這世上最難降的妖魔是什么逗物? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮瑟俭,結(jié)果婚禮上翎卓,老公的妹妹穿的比我還像新娘。我一直安慰自己摆寄,他們只是感情好失暴,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著微饥,像睡著了一般逗扒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上欠橘,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天矩肩,我揣著相機與錄音,去河邊找鬼肃续。 笑死黍檩,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的痹升。 我是一名探鬼主播建炫,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼疼蛾!你這毒婦竟也來了肛跌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤察郁,失蹤者是張志新(化名)和其女友劉穎衍慎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皮钠,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡稳捆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了麦轰。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乔夯。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡砖织,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出末荐,到底是詐尸還是另有隱情侧纯,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布甲脏,位于F島的核電站眶熬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏块请。R本人自食惡果不足惜娜氏,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望墩新。 院中可真熱鬧贸弥,春花似錦、人聲如沸抖棘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽切省。三九已至,卻和暖如春帕胆,著一層夾襖步出監(jiān)牢的瞬間朝捆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工懒豹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留芙盘,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓脸秽,卻偏偏與公主長得像儒老,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子记餐,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355