helm是什么,和普通部署有什么区别吗?
Helm 是一个 Kubernetes 的应用包管理工具,可以将一组 Kubernetes 资源(如 Deployment、Service 等)打包成一个可复用的“Chart”。简而言之,Helm 相当于 Kubernetes 的“包管理器”,用来简化应用部署、升级和回滚等操作。
Helm 的核心功能
-
Chart(模板化管理)
将多个 YAML 文件(如 Deployment、Service、ConfigMap 等)使用模板化语法打包在一起。同时支持自定义变量,能够轻松替换环境相关的配置信息(比如副本数、镜像tag、环境变量等)。 -
依赖管理
一个 Helm Chart 可以依赖其他外部库或服务(例如数据库 Chart),Helm 会在部署时自动解析并管理这些依赖。 -
版本控制与回滚
Helm 可以跟踪应用的部署历史,比如升级到新版本时,可以随时回滚到旧版本,极大地减少了运维风险。 -
参数化配置
通过 values.yaml 或命令行参数,可以在不同环境里输入不同的值,实现一套模板多环境