K8S包管理器《从零到进阶轻松掌握Helm管理和使用》

发布于:2025-08-20 ⋅ 阅读:(17) ⋅ 点赞:(0)

1、helm简介

在kubernetes平台上,我们在部署各种各样的应用服务的时候,可以基于手工或者自动的方式对各种资源对象实现伸缩操作,尤其是对于有状态的应用,我们可以结合持久性存储机制实现更大场景的伸缩动作。但是,无论我们怎么操作各种资源对象,问题最多的就是各种基础配置、镜像等之类的依赖管理操作。在linux平台下,常见的包依赖的就是yum、apt等工具,在kubernetes平台下,同样有类似的解决依赖关系的工具 – helm。

官方网址:https://helm.sh/zh/
官方地址:https://github.com/helm/helm

helm的功能类似于yum 或 apt,提供应用部署时候所需要的各种配置、资源清单文件,他与yum之类工具不同的是,在k8s中helm是不提供镜像的,这些镜像文件需要由专门的镜像仓库来提供。

== Kubernetes包管理器==

例如:k8s平台上的nginx应用部署,对于该应用部署来说,主要需要三类内容:

  • 镜像:nginx镜像
  • 资源定义文件:Deployment、service、hpa等
  • 专用文件:配置文件、证书等
  • helm管理的主要是:资源定义文件和专用文件。

在这里插入图片描述

功能总结:

  1. Helm = Kubernetes 的 包管理工具(类似 yum/apt/npm),用来快速部署、升级、卸载应用。

  2. Chart = Helm 的安装包,包含部署所需的 YAML 模板和配置。

  3. Repository = 存放 Chart 的仓库(比如 Bitnami)。

  4. Release = 一个 Chart 安装到集群后的运行实例。

2、helm部署应用服务的完整工作流程

基于helm来成功的部署一个应用服务,完整的工作流程如下:

  1. 部署一个稳定运行的k8s集群,在能管理k8s的主机上部署helm。
  2. 用户在客户端主机上,定制各种Chart资源和config资源,上传到专用的仓库(本地或者远程)
  3. helm客户端向Tiller发出部署请求,如果本地有chart用本地的,否则从仓库获取
  4. Tiller与k8s集群的api-server发送请求
  5. api-server通过集群内部机制部署应用,需要依赖镜像的时候,从专门的镜像仓库获取。
  6. 基于helm部署好的应用实例,在k8s集群中,我们称之为release。

3、安装 Helm

Linux / Mac

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

验证:

helm version

在这里插入图片描述
命令帮助

helm --help

在这里插入图片描述

  • helm search: search for charts
  • helm pull: download a chart to your local directory to view
  • helm install: upload the chart to Kubernetes
  • helm list: list releases of charts

4、helm实践

4.1、仓库管理

# 添加仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
# 查看已添加的仓库
helm repo list

在这里插入图片描述

# 更新仓库索引
helm repo update
# 删除仓库
helm repo remove bitnami

4.2、 搜索和查看 Chart

# 搜索仓库里的 Chart
helm search repo mysql

在这里插入图片描述

# 查看 Chart 详细信息
helm show chart bitnami/mysql
# 查看 Chart 的默认 values.yaml 配置
helm show values bitnami/mysql > my-values.yaml

4.3、 安装应用

# 最简单安装
helm install my-mysql bitnami/mysql
# 指定命名空间
helm install my-mysql bitnami/mysql -n database --create-namespace
# 使用自定义配置
helm install my-mysql bitnami/mysql -f my-values.yaml

4.4、升级 / 回滚

# 升级(更新配置或版本)
helm upgrade my-mysql bitnami/mysql -f my-values.yaml
# 回滚到上一个版本
helm rollback my-mysql 1

4.5、卸载

helm uninstall my-mysql -n database

4.6、查看安装状态

# 查看 release 列表
helm list -n database
# 查看详细状态
helm status my-mysql

5、典型工作流程

  • 添加仓库:helm repo add bitnami …

  • 更新索引:helm repo update

  • 搜索 Chart:helm search repo redis

  • 下载配置:helm show values bitnami/redis > values.yaml

  • 修改配置:编辑 values.yaml(比如密码、存储大小)

  • 安装:helm install my-redis bitnami/redis -f values.yaml

  • 升级/卸载/回滚按需执行。

在这里插入图片描述


“人的一生会经历很多痛苦,但回头想想,都是传奇”。



网站公告

今日签到

点亮在社区的每一天
去签到