iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0
自我挑戰組

從雲端開始的菜鳥任務系列 第 21

Day 21 菜鳥的 helm 紀錄 - 介紹篇

  • 分享至 

  • xImage
  •  

很早之前的Kubernetes介紹和之後的教學文章中,幾乎都有用到Kubernetes這一專案,相信看到這裡的人並不會對這項專案感到陌生,甚至在途中也有使用helm做一個佈署的動作,那麼今天就來介紹一下Helm是什麼吧!!

Helm 介紹

Helm是一種可以讓Kubernetes更容易、更簡單的去建立與使用的一個好幫手。
首先,我們使用Kubernetes的元件時都是需要用到yaml的設定檔,那麼假設有個專案需要許多的yaml去做一個佈署,那麼這時候對於版本的控制、管理、更新這些yaml就會不太容易,而Helm就是為了解決這個的一個工具。如若要觀看詳細可以到官方文件查詢

安裝環境

目前的Helm幾乎使用Helm3這一版本,因此使用官方的安裝方式,使用底下的方式可以清出知道helm安裝時做了哪些事情。

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

建立Helm

# helm create <專案名稱>
helm create demo-helm

└── demo-helm
├── Chart.yaml
├── charts
├── templates
│ ├── NOTES.txt
│ ├── _helpers.tpl
│ ├── deployment.yaml
│ ├── hpa.yaml
│ ├── ingress.yaml
│ ├── service.yaml
│ ├── serviceaccount.yaml
│ └── tests
│ └── test-connection.yaml
└── values.yaml

  • charts:在此資料夾中其他的Chart,可以執行其他的專案內容,可以把它看作放置一堆k8s專案的倉庫
  • templates:此資料夾主要是用來定義Chart中要執行的Kubernetes的元件
  • values.yaml:這裡主要定義整個Chart的所有變數,這樣yaml的管理就不用在每個檔案去做更動,統一於values內做更動就可以了。
    當建立了一個範例候我們就能直接去執行他預設的服務了,

執行指令

要位於該Chart內才能作執行,因此我們需要先進入demo-helm中

  1. 佈署
cd demo-helm
# helm install <Release Name > <Chart Path>
helm install demo .
  1. 查詢目前佈署的helm
helm list
NAME    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
demo    default         1               2021-10-03 06:02:47.264771653 +0000 UTC deployed        demo-helm-0.1.0 1.16.0
  1. 更新
#helm upgrade <Release Name > <Chart Path>
helm upgrade demo .
  1. 檢查chart內是否有錯誤與法
# helm lint <Chart Path>
helm lint .
  1. 解佈署
# helm uninstall <Release Name >
helm install demo 
NAME    NAMESPACE       REVISION        UPDATED STATUS  CHART   APP VERSION

上一篇
Day 20 Knative Serving DNS 測試(二)
下一篇
Day 22 菜鳥的 helm 紀錄 - 進階篇
系列文
從雲端開始的菜鳥任務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言