若您曾經有接觸過 Kubernetes,可能會發現當系統越來越複雜時,所需要用到的 yaml 越變越多,相依性也越來越複雜,導致操作 Kubernetes 時步驟變多。Helm 是一套 Kubernetes Package Manager (套件管理員),它能 Package (包裝)、Versioning (版本控制) 與 Customization (自定義)  Kubernetes  資源,並解其相依性問題。與常見的套件管理工具相似,Helm 的套件稱為 Chart,內部包含相依套件與定義檔案 (yaml)


Helm 的運作方式是將各種系統所需要的 yaml 檔案封裝成 Chart,透過 Helm 與 Kubernetes Cluster API 溝通,進而建立出所需要的元件。最大的優勢就是不需要逐一的使用  Kubetail apply指令執行 yaml 檔案,除了省下時間,也降低複雜操作導致錯誤發生機率。



您可以在 Helm 官方網站找到 Helm Install 說明,在 Windows 環境下可以透過 Chocolatey (Windows 套件管理工具) 以 choco install kubernetes-helm 指令安裝 Helm。不同作業系統可以參考官方文件。




Helm 使用方式相當簡單,在第一次使用時,您需要初始化 chart repository

helm repo add bitnami https://charts.bitnami.com/bitnami



一旦初始化完成,你可以檢視有哪些既有的 chart 可以使用

helm search repo bitnami




當您要更新 repository 時,可以透過下列指令

helm repo update




若您想要移除 repository ,可以透過下列指令

helm repo remove bitnami




上列即為 Helm 對於 repository 的操作。若您想透過 helm 安裝 mongodb,可以透過下列指令

安裝 chart 即需要再 kubernetes 環境下執行,您可以考慮 minikube、Kind...等等單機環境,或使用雲端 Kubernetes 服務 (如 Azure kubernetes service)

指令格式 helm install [name] [repo/chartname]

helm install mongodb-release stable/mongodb




透過 kubectl get pods 可以看見 mongodb 正常運作




一旦您不需要相關服務,可以套過下列 helm delete 指令進行移除

helm delete mongodb-release




除了上列安裝/移除 chart,也提供相關 chart 指令給有興趣的朋友參考