使用Helm简化应用部署

Helm简化了应用程序的定义、安装和升级,使得Kubernetes集群的应用管理更为高效且便捷。ACK在控制台上集成了Helm,提供了cert-manager、ack-fluid等常见的第三方应用。

Helm介绍

Helm是一个用于在Kubernetes集群中进行应用管理的开源工具,它提供了统一的应用打包方式,同时支持版本控制,降低了应用分发和部署的复杂性。您可参照下方的表格,了解Helm的基本概念,更多信息请参见官方文档

Helm概念

说明

Chart

一个Helm包,其中包含了运行一个应用所需要的镜像、依赖和资源定义等,还可能包含Kubernetes集群中的服务定义,类似Homebrew中的formula、APT的dpkg或者Yum的rpm文件。

Release

在Kubernetes集群上运行的Chart的一个实例。在同一个集群上,一个Chart可以安装多次。每次安装都会创建一个新的Release。例如,如果一个MySQL Chart想在服务器上运行两个数据库,可以将此Chart安装两次,并在每次安装中生成自己的Release以及Release名称。

前提条件

通过控制台部署应用

ACK提供了一些常见应用的Chart,您可以在控制台使用这些Chart安装应用。

  1. 登录容器服务管理控制台,在左侧导航栏单击集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择应用 > Helm

  3. Helm页面,单击创建。参考如下信息完成基础信息配置。

    参数

    说明

    示例值

    应用名

    Release在集群内的名称。

    demo-app

    命名空间

    Release部署的命名空间。

    default

    来源

    Chart的来源:ACK应用市场或ACR企业版。

    应用市场

    Chart

    安装应用所使用的Chart。

    cert-manager

  4. 单击面板左下方的下一步,然后选择最新的Chart 版本。确认Chart内容后,单击面板下方的确定

通过控制台管理已安装的应用

您可以在Helm页面对已安装的Release进行操作:

  • 单击Release的发布名称详情,可查看该Release的信息,例如资源、YAML文件、历史版本等信息。

  • 单击更新,在更新发布面板中修改相关参数,然后单击确定,可对该Release进行更新。

  • 单击删除,在删除应用对话框中,选中清除发布记录,然后单击确定,删除Release以及包含的Service、Deployment等资源。

    重要

    若不选中清除发布记录,此时该Release会保留在发布列表中,后续在部署应用时,可能会出现重名冲突,导致应用部署失败。

通过Helm CLI使用第三方库部署应用

如果ACK提供的Chart无法满足您的需求,您可参照以下示例,通过Helm CLI使用第三方库部署应用。

helm repo add <REPO_NAME> <REPO_URL> # 添加Chart存储库,REPO_NAME替换为Chart存储库的名称,REPO_URL替换为存储库的地址
helm repo update # 更新存储库信息
helm install <APP_NAME> <REPO_NAME>/<CHART_NAME> # 安装应用,APP_NAME替换为一个应用的名称,CHART_NAME替换为Chart的名称

Helm更多命令请参见Using Helm

相关文档