安裝 chart
當我們覺得準備就緒,就可以安裝 chart,Helm 支持四種安裝方法:
安裝倉庫中的 chart,例如:
helm install stable/nginx
通過 tar 包安裝,例如:
helm install ./nginx-1.2.3.tgz
通過 chart 本地目錄安裝,例如:
helm install ./nginx
通過 URL 安裝,例如:
helm install https://example.com/charts/nginx-1.2.3.tgz
這裏我們使用本地目錄安裝:
當 chart 部署到 Kubernetes 集羣,便可以對其進行更爲全面的測試。
將 chart 添加到倉庫
chart 通過測試後可以將其添加到倉庫,團隊其他成員就能夠使用。任何 HTTP Server 都可以用作 chart 倉庫,下面演示在 k8s-node1
192.168.56.106 上搭建倉庫。
在
k8s-node1
上啓動一個 httpd 容器。通過
helm package
將mychart
打包。執行
helm repo index
生成倉庫的 index 文件。
Helm 會掃描myrepo
目錄中的所有 tgz 包並生成index.yaml
。--url
指定的是新倉庫的訪問路徑。新生成的index.yaml
記錄了當前倉庫中所有 chart 的信息:
當前只有mychart
這一個 chart。將
mychart-0.1.0.tgz
和index.yaml
上傳到k8s-node1
的/var/www/charts
目錄。通過
helm repo add
將新倉庫添加到 Helm。
倉庫命名爲newrepo
,Helm 會從倉庫下載 index.yaml。現在已經可以
repo search
到mychart
了。
除了newrepo/mychart
,這裏還有一個local/mychart
。這是因爲在執行第 2 步打包操作的同時,mychart
也被同步到了 local 的倉庫。已經可以直接從新倉庫安裝
mychart
了。如果以後倉庫添加了新的 chart,需要用
helm repo update
更新本地的 index。
這個操作相當於 Ubutun 的apt-get update
。
小結
本章我們學習了 Kubernetes 包管理器 Helm。
Helm 讓我們能夠像 apt 管理 deb 包那樣安裝、部署、升級和刪除容器化應用。
Helm 由客戶端和 Tiller 服務器組成。客戶端負責管理 chart,服務器負責管理 release。
chart 是 Helm 的應用打包格式,它由一組文件和目錄構成。其中最重要的是模板,模板中定義了 Kubernetes 各類資源的配置信息,Helm 在部署時通過 values.yaml 實例化模板。
Helm 允許用戶開發自己的 chart,併爲用戶提供了調試工具。用戶可以搭建自己的 chart 倉庫,在團隊中共享 chart。
Helm 幫助用戶在 Kubernetes 上高效地運行和管理微服務架構應用,Helm 非常重要。
下節我們開始學習 Kubernetes 網絡。
書籍:
1.《每天5分鐘玩轉Kubernetes》
https://item.jd.com/26225745440.html
2.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html
3.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html