介绍
Kubernetes 为您提供各种容器编排工具,使应用程序部署变得简单高效。 Helm 是使部署过程变得简单的编排工具之一。
Helm 是一个 Kubernetes 包管理器,用于共享和分发用于部署和管理 Kubernetes 应用程序的图表。 Helm 是一个开源项目,它是免费的。
Helm 包含以下实体:
图表:Helm 图表包含 Kubernetes YAML 文件,这些文件可以安装在您的集群上以配置您的应用程序。 Helm 图表很有帮助,因为它们提供了一种部署微服务的简单方法,而无需使用 Kubectl 手动进行。 这些图表可以在不同的环境中重复使用,从而节省大量时间。 您可以在以下位置下载 Helm 图表 神器中心 包含部署应用程序所需的所有文件和 YAML 文件。
包裹:一个包包含您的应用程序的部署资源。
发布:版本是在集群上运行的实例或图表的版本。
存储库:存储库包含可供其他 Kubernetes 管理员和开发人员下载和使用的图表列表。 任何人都可以创建 Helm 存储库并将其托管在 GitHub 上。
在本文中,您将学习怎样在 Windows 上安装 Helm 命令行。 您还将学习怎样初始化和构建 Helm 图表。
先决条件
你需要跑步 Kubernetes 集群 和 Kubectl。
怎样安装 Helm CLI
Helm 命令行使您能够安装、更新和卸载图表及其存储库。
使用以下 Chocolatey 命令下载 Helm 命令行:
choco install kubernetes-helm
允许 kubernetes-helm
按键盘上的 y 键运行“chocolateyInstall.ps1”以完成安装过程:
The package kubernetes-helm wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): y
安装过程完成后,将显示 Helm 安装成功”消息和 Helm 安装位置:
ShimGen has successfully created a shim for helm.exe
The install of Kubernetes-helm was successful.
Software installed to 'C:\ProgramData\chocolatey\lib\kubernetes-helm\tools'
使用以下命令检查 Helm 命令行版本:
helm version --help
您将获得以下输出:
version.BuildInfo{Version:"v3.2.1", GitCommit:"fe51cd1e31e6a202cba7dead9552a6d418ded79a", GitTreeState:"clean", GoVersion:"go1.13.10"}
使用以下命令获取有助于操作 Helm 图表的命令列表:
helm get -h
怎样安装 Helm Chart
首先使用以下命令下载图表的存储库:
helm repo add [repository name] [repository address]
为了 example:
helm repo add bitnami https://charts.bitnami.com/bitnami
安装所需的存储库后,使用搜索命令浏览并发现刚刚添加的图表存储库中可用的新图表:
helm search repo [repository name]
成功安装图表存储库后,使用以下命令安装所需的图表:
helm install [release name] [chart name]
为了 example:
helm install my-release bitnami/mysql
安装 Helm 图表后,使用以下命令查看所有已安装和部署的 Helm 图表:
helm list
怎样创建 Helm 图表
使用以下命令创建图表:
Helm create [chart name]
Helm Chart 目录的结构
创建 Helm 图表时将创建一个 Helm 图表目录。 此图表目录将包含配置应用程序所需的所有必要文件。 图表也有子图表和从属图表。
这是 Helm 图表的结构:
├── .helmignore
├── values.yaml
├── charts
├── Chart.yaml
└── templates
└── tests
以下列表解释了在 Helm 图表目录中找到的文件和目录:
.helmignore
包含打包 Helm 图表时应忽略的文件。 这 values.yaml
文件包含将传递给运行图表的所有图表规范和值。 此文件允许您声明图表服务、卷和 RBAC。 图表文件夹包含图表所依赖的所有图表。 这 Chart.yaml
文件包含有关图表的所有信息和详细信息。 这是您添加图表版本号的地方。 模板目录包含部署图表所需的所有文件。
怎样管理 Helm 图表
旁观 神器中心 查找 Helm 存储库并选择适合您的部署配置的特定图表版本。
安装 Helm 命令行并添加存储库后,您现在可以浏览和搜索通过存储库从您最喜欢的供应商处打包的生产就绪应用程序。 使用以下命令管理 Helm 图表:
使用以下命令升级版本:
helm upgrade [release] [chart]
使用以下命令下载发布信息:
helm get all [release]
头盔 钩 用于加载 ConfigMap。 使用以下命令下载所有挂钩:
helm get hooks [release]
使用以下命令下载生成的发布清单:
helm get manifest [release]
怎样卸载 Helm Charts
使用以下命令卸载版本并清除图表历史记录:
helm uninstall [chart name]
如果要保留图表历史记录,请将以下标志添加到 Helm 卸载命令:
--keep-history
以下命令从您的系统中删除存储库:
helm repo remove [repository-name]
防止常见漏洞
以下是防止 Helm 图表引起的常见漏洞的方法:
使用 Elasticsearch 和 Prometheus 等工具监控和跟踪已部署的图表,以检测图表可能出现的安全问题。 此外,下载和使用官方、可信和安全的图表。 在部署之前在 Vultr Kubernetes Engine 等 Kubernetes 平台上测试您的图表,并在检测到漏洞后立即进行更改。 通过加密来保护机密。 未加密的秘密存储在模板和 values.yaml
可以访问图表和模板的未经授权的人可以利用这些文件。
注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com