
下内容均来自个人笔记并重新梳理,如有错误欢迎指正!
基本介绍
Helm 是 Kubernetes 的一种包管理工具,相当于 Ubuntu 中的 APT 包管理工具或 CentOS 中的 YUM 包管理工具,用于定义、安装、升级和配置 Kubernetes 应用程序。
在 Kubernetes 中,我们可以通过 YAML 资源清单实现简单应用程序的定义和安装。但是随着项目架构的微服务化,应用程序逐渐按功能被拆分为众多模块。如果每一个功能模块对应一个 YAML 资源清单,对其进行管理和维护将变得十分困难。
同时,Kubernetes 应用程序的不同服务模块之间,通常存在大量可复用的、或需要根据实际场景调整的配置,这种情况在实施交付领域十分常见。例如,不同的客户需要定制化安装不同的功能模块、配置不同的访问域名等。如果在安装时需要手动调整多个功能模块的 YAML 资源清单显然会降低效率,且容易出错。
Helm 通过 Values 配置以及资源清单模版机制,可以让用户在安装前只在一处修改配置,即可在安装时将资源清单模版自动渲染成 YAML 资源清单,从而提升应用程序的安装效率、配置管理能力,使得应用程序的部署和管理更加自动化、标准化。
Helm GitHub:https://github.com/helm/helm/
Helm 官方文档:https://helm.sh/docs/
Helm Chart 最佳实践:https://artifacthub.io/
主要作用
主要特点
主要概念
安装方法
Helm 安装非常简单,直接使用 GitHub 提供的二进制文件即可。
# 访问 Helm GitHub,下载某个版本
wget https://get.helm.sh/helm-v3.17.1-linux-amd64.tar.gz
# 解压安装
tar -xzf helm-v3.17.1-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
# 验证安装
helm version书籍推荐
最后推荐一本笔者从 Docker 进阶到 Kubernetes 自学过程中,受益较深的书籍。笔者经常复读,并结合工作实践不断加深理解和体会,可谓常读常新。希望这本书可以帮助到更多对 Kubernetes 感兴趣或刚开始学习的读者。