《關於我怎麼把一年內學到的新手 IT/SRE 濃縮到 30 天筆記這檔事》 Day 14 Helm 簡介&安裝
本篇大綱
需要在 K8s 組合出服務還真的不容易,但如果今天我想要同個服務只是改個名稱,還要再去複製嗎?今天來介紹非常好用的工具 Helm。
內文
前面簡單介紹 Kubernetes 的設定檔,還有如何基本使用、除錯、查詢 Log 紀錄。
這篇我們要來邁向更高階的設定檔,讓我們隆重介紹 Helm
。
Helm
Helm 可以管理 K8s 應用程式。
Helm Charts 訂製、安裝、升級更複雜的 K8s 應用程式。
Charts 可以簡單得建立、版本控管、分享以及發布,開始使用 Helm 並且停止複製貼上。
這是他的官網介紹,看起來很抽象,但我們可以一步一步按照官網上的步驟來實作
安裝步驟:https://helm.sh/docs/intro/install/
1 |
|
其實只要一行就能完成安裝 Helm 了!
那我們就來照他的 Quickstart 來跑一遍:https://helm.sh/docs/intro/quickstart/
1 |
|
Repo 相當於 apt 裡面的倉庫,加入倉庫了以後就可以使用 update:
1 |
|
Update 之後我們就可以來試試搜尋套件:
1 |
|
就會把所有 bitmani 的套件列出來,這裡你可以注意到,他有分 Chart Version 跟 App Version,下一篇會來介紹差異。
那先來嘗試他們的安裝 App
1 |
|
沒有跳出錯誤訊息代表安裝成功,就可以看到安裝的 Application,他們會稱作為 Release:
1 |
|
這時候你可以用 kubectl
看看裡面裝了什麼:
1 |
|
我們可以大概知道裡面裝了 StatefulSet 跟 Service,StatefulSet 的 Pod 卡在 Pending 狀態,這時候學習看一下裡面的原因。
上一篇的 Cheatsheet 看到 Pod 狀態在 Pending 就要用 describe 檢查:
1 |
|
這裡就可以看到原因,因為 PVC 沒有綁定,所以 K8s 無法分配 Pod 下去。
那我就把 Release 移除掉,就下 uninstall:
1 |
|
透過 Helm 我們可以找到寫好的 K8s 設定檔,直接部署在 K8s Cluster 裡面,就不需要再複製貼上還有改名設定檔。
Helm Chart 裡面有哪些內容呢?下一篇會介紹它的基本架構。
本系列內容也會同步貼到我的 iT 邦幫忙 https://ithelp.ithome.com.tw/users/20112934 歡迎來點一下追蹤,那我們就下一篇文章見啦!