首页 > 运维 > Linux > helm3安装与使用
2022
07-05

helm3安装与使用

什么是 Helm

在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随 着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式,支持发布的版本 管理和控制,很大程度上简化了 Kubernetes 应用的部署和管理

Helm 本质就是让 K8s 的应用管理(Deployment,Service(svc) 等 ) 可配置,能动态生成。通过动态生成 K8s 资源清单文件(deployment.yaml,service.yaml)。然后调用 Kubectl 自动执行 K8s 资源部署 一套yaml搞定多套环境。

Helm 是官方提供的类似于 YUM 的包管理器,是部署环境的流程封装。Helm 有两个重要的概念:chart 和 release

  • chart 是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板、参数定义、依赖关系、文档说明等。chart 是应用部署的自包含逻辑单元。可以将 chart 想象成 apt、yum 中的软件安装包。
  • release 是 chart 的运行实例,代表了一个正在运行的应用。当 chart 被安装到 Kubernetes 集群,就生成一个 release。chart 能够多次安装到同一个集群,每次安装都是一个 release

Helm 包含三个组件:Helm 客户端,chart仓库,和实例release

  • Helm 客户端负责 chart 和 release 的创建以及和kubernetes API通信
  • Repository 用于发布和存储chart包的仓库, 类似yum仓库或docker仓库
  • Release 用chat包部署的一个实例,通过chart在k8s中部署的应用都会产生一个唯一的Release, 同一chart部署多次会产生多个Release

理解:将这些yaml部署完成后,他也会记录一个版本,维护一个release的版本,通过release这个实例,帮我们创建具体的pod和deployment等资源

helm2和helm3的区别

Helm3 部署

helm分为(客户端 和 服务端)

Helm 由客户端命令行工具 helm 和仓库组成,Helm 的安装十分简单。

客户端安装(helm)

heml目录结构详解

实操(笔记)(创建一个configmap)

创建一个release实例

因为呢没有指定命名空间,他就创建在了默认的ns下

安装成功后,用helm get manifest 【实例名】 命令可以查看已经发布到k8s中的release信息

删除实例

修改模板文件configmap.yaml data 值为变量,将变量值定义至values.yaml

values.yaml

重新install, 并查询cm值

变量均已生效

4. helm的测试渲染命令(不真正执行,只是看是否能运行)

可以看到变量获取到了,和上面一样
最后编辑:
作者:shooter
这个作者貌似有点懒,什么都没有留下。