Helm3 快速入门及全局认知

目前 Helm 已经是 CNCF 的毕业项目,在大量企业中获得实践经验,已经逐渐成为云原生标准应用的定义与打包规范。
摘要由CSDN通过智能技术生成

目录

1.1. Helm 核心概念

1.1.1. Helm

1.1.2. Helm Chart

1.1.3. Chart Release

1.1.4. Chart Repository

1.2. 前置要求

1.3. Helm 安装与配置

1.4. 配置 Helm Repository

1.5. 安装 Chart 示例

1.6. 管理 Release

1.7. Helm Chart

1.7.1. Helm Chart 组成

1.7.2. Chart 模板内置对象

1.7.3. Chart 模板函数

1.8. 总结


Helm 是 Kubernetes 包管理器。帮助您管理 Kubernetes 应用 -- Helm Chart,即使是最复杂的 Kubernetes 应用程序,都可以帮助您定义、安装和升级。

结合传统应用的认知,Helm Chart 云原生应用包与传统应用包有以下几个维度的差异:

属性维度 Helm Chart 传统应用
硬件平台 ARM、X86 ARM、X86
系统平台 Kubernetes Linux、Windows
可运行文件 java 程序、C 程序、Python 程序 java 程序、C 程序,Python 程序
可运行文件封装 Image 镜像、HelmChart rpm、deb、exe
管理工具 Helm YUM、APT
配置及环境信息 values.yaml /etc/nginx/nginx.conf、JVM 启动参数
说明文档 NOTES.txt、 README.md help 帮助、man 文档

1.1. Helm 核心概念

在 Helm 生态中,有以下几个核心概念需要了解

1.1.1. Helm

Helm 是 Kubernetes 的包管理器。

按照惯例,当指项目时,Helm 使用首字母大写。

当指命令行时, helm 所有字母使用小写。

1.1.2. Helm Chart

Helm Chart 代表着 Helm 包。包涵盖了将 Kubernetes 应用安装到 Kubernetes 集群所需要的足够多的信息。它基于一定的模板规范、目录结构和文件格式进行打包后的 tar 和 gzip 压缩包(并且可选签名) 。

1.1.3. Chart Release

Helm Release 是运行在 Kubernetes 集群中的 Chart 的实例。一个 Chart 通常可以在同一个集群中安装多次,每一次安装都会创建一个新的 Release。

以 MySQL Chart 为例,如果你想在你的集群中运行两个数据库,你可以安装该 Chart 两次。每一个数据库都会拥有它自己的 Release 和 Release Name。

1.1.4. Chart Repository

Helm Repository(仓库) 是用来存放和共享 Charts 的地方。它就像 Perl 的 CPAN 档案库网络 或是 Fedora 的 软件包仓库,只不过它是供 Kubernetes 包所使用的。

Helm 官方默认的 Repository 是 Artifact Hub

1.2. 前置要求

Helm 通过 Kubernetes 的上下文 ~/.kube/config 来访问和管理 Kubernetes 集群中的 Chart。

想成功和正确地使用 Helm,需要以下前置条件。

1.3. Helm 安装与配置

根据 Kuberentes 的版本来选择对应的 Helm 版本。如,Helm 的 3.7.x 版本可以兼容 Kuberentes 的 1.22.x - 1.19.x 版本。

每一个版本的 Helm 提供多种操作系统的二进制版本,支持选择 Linux、Mac OS、Windows平台,以及 amd64、arm、i386、ppc64le、s390x 的 CPU 类型。这些二进制版本可以手动下载和安装。

所有历史版本管理地址:

选择需要的版本进行下,例如 Linux amd64 版的下载地址

下载完成后,解压安装:

wget https://get.helm.sh/helm-v3.7.2-linux-amd64.tar.gz
tar xf helm-v3.7.2-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/helm
chmod +x /usr/local/bin/helm

安装完成后,可以判断是否可正常使用。

可正常运行的输出示例:

$ helm version
version.BuildInfo{Version:"v3.7.2", GitCommit:"663a896f4a815053445eec4153677ddc24a0a361", GitTreeState:"clean", GoVersion:"go1.16.10"}

如果环境已经安装了 Kubernetes 集群,并配置了 /root/.

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值