本篇是一個新手教學文,作者分享如何撰寫一個基於 Library 概念的 Helm Chart。
Helm Chart 的使用基本上不會太困難,透過 Helm Create 也可以很輕鬆地創造出一個範例 Helm Chart,針對該 Helm Chart 簡單修改也可以變成符合使用者需求的 Helm Chart。
作者工作中遇到一個要求,該要求要將一個 mono-repo 內的所有應用程式都變成 Helm Chart 的形式,該 repo 內大概有 10 個左右的應用程式,而這些應用程式部署所需要的資源都差不多,因此最簡單的方式就是創建十個幾乎完全一樣的 Helm Chart,透過 values.yaml 來客製化每個服務即可。
不過作者認為這種做法有點痛苦,要是未來需要針對這些k8s資源加上一些定義或是一些欄位,有可能就要 Copy&Paste 十次來處理所有的 Helm Chart。
為了解決這個問題作者就嘗試創建第一個 Helm Chart Library,只要到 Charts.yaml 裏面將 type 修改為 library 即可。(一般來說是 application)
作者特別提到,Helm 在處理部署的時候,只要檔案開頭為_,則該資源就不會被嘗試部署到 Kubernetes 內,這也是為什麼預設的 helper 會叫做 _helpers.tpl。
對於開發一個供其他 Helm Chart 使用的 Library Helm Chart 有興趣的可以參考這個文來看看一個簡單的範例
https://medium.com/nontechcompany/how-i-create-my-first-library-helm-chart-4f23caf5287d
「helm教學」的推薦目錄:
- 關於helm教學 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於helm教學 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於helm教學 在 矽谷牛的耕田筆記 Facebook 的精選貼文
- 關於helm教學 在 [Kubernetes] Package Manager - Helm 簡介 - 小信豬的原始部落 的評價
- 關於helm教學 在 Kubernetes - 基礎概念101 的評價
- 關於helm教學 在 Kubernetes Taiwan User Group - Facebook 的評價
- 關於helm教學 在 yaml教學的推薦與評價,FACEBOOK和網紅們這樣回答 的評價
- 關於helm教學 在 58、Kubernetes Helm 及其它功能性组件Helm(1) - YouTube 的評價
- 關於helm教學 在 如何使用github作为Helm的chart仓库 - 简书 的評價
- 關於helm教學 在 Kms github - Lepassagetoindia.biz 的評價
helm教學 在 矽谷牛的耕田筆記 Facebook 的最佳解答
這篇文章是 Tekton 這套號稱完全針對 Cloud-Native 所發展的 CI/CD 工具教學文,作者從基本概念到如何使用都詳細的介紹一番,讓讀者看完就對 Tekton 能夠有基本的認知。
就如同其他常見的 Pipeline 系統一樣,Tekton 的工作流程是由 Step, Task 以及 Pipeline 組成。Tekton 使用 Step 描述每個最小工作事項,而每個 Task 則由數個 Step 組成,這些 Step 會依序執行,且彼此會共用相同環境,譬如 Volume.
Pipeline 則是由數個 Task 所組成,不過比較特別的是這些 Task 可以有更為靈活的執行順序,譬如依序執行,平行執行,甚至是 DAG 這種有向無環圖的執行順序。
Tekton 的一大特色是其完全寄生於 Kubernetes 內,必須要搭配 k8s 的環境來使用,也因此上述的 Step,Task 以及 Pipeline 實質上都是屬於 K8s 的 CRD 一種,部署時需要透過 YAML 來撰寫,並且用常見的方式 (kubectl, helm, kustomize) 來安裝到 k8s 內去設定 Tekton。
這種模式帶來的一個好處就是每個元件都是獨立的 YAML 檔案與類別,因此相同的部分可以非常輕易的被重複使用,舉例來說一個運行 Git-Clone 的 Task 就可以被多個不同的 Pipeline 重複使用,而有需求需要修改的時候也只需要修改一個 Task 即可。
對於 Tekton 這套解決方案有興趣的可以參閱下列全文玩耍看看
https://lambda.grofers.com/adopting-tekton-cloud-native-ci-solution-67fb229f4992
helm教學 在 矽谷牛的耕田筆記 Facebook 的精選貼文
談到如何包裝與客製化 Kubernetes 應用程式,Helm/Kustomize 我認為是當前最容易被拿來比較的兩大開源專案。
我個人認為這兩者的走向截然不同,光如何客製化就是採取不同的方式,一個主打 Template,一個則是 Template-free,此外 Helm 本身需要額外安裝 CLI 才可以使用,而 Kustomize 目前則是 Kubectl 該指令已經內建,因此使用上也不需要額外安裝任何指令即可
這篇文章是一個 Kustomize 的教學文,主要是用來介紹到底 Kustomize 是如何透過 template-free 的方式讓維運人員可以客製化其部署應用程式,如果本身對於 Kustomize 還不是很熟悉但是又想要理解的,推薦可以快速地看下這篇文章,會對 Kustomize 有個初步理解。
https://pavan1999-kumar.medium.com/introduction-to-kustomize-97f990dc2f44
helm教學 在 Kubernetes - 基礎概念101 的推薦與評價
... Service, Ingress, Helm - GitHub - HcwXd/kubernetes-tutorial: A hands-on tutorial for ... 覺得kubectl 的指令都沒有auto-complete 的話可以參考官網的教學。 ... <看更多>
helm教學 在 Kubernetes Taiwan User Group - Facebook 的推薦與評價
helm 官網教學用的範例stable/*都是0.x版,但repo都已經3.x去了,根本不能用,有誰可以去告知一下helm的維護人員嗎_哭哭. 4. Commenti: 5. Mi piace. Commenta. ... <看更多>
helm教學 在 [Kubernetes] Package Manager - Helm 簡介 - 小信豬的原始部落 的推薦與評價
什麼是Kubernetes Helm? · Tiller server 是用來與API server 溝通,使用chart 在k8s cluster 上建立服務 · Helm client 則是用來操作Tiller server 用. ... <看更多>