利用 Helm 简化应用部署
更新时间:2020-03-20 14:11:30
本文档介绍 Helm 的基本概念和使用方式,演示在阿里云的 Kubernetes 集群上利用 Helm 来部署示例应用 WordPress 和 Spark。
前提条件
- 通过 Helm 部署应用之前,利用阿里云容器服务来创建 Kubernetes 集群。参见创建Kubernetes集群。
在 Kubernetes 集群创建的同时,Tiller 将会被自动部署到集群之中,并且在所有的 master 节点上自动安装 Helm CLI 以及配置指向阿里云的 Chart 存储库。
- 查看您集群中 Kubernetes 的版本。
仅支持 Kubernetes 版本 1.8.4 及以上的集群。对于 1.8.1 版本的集群,您可以在集群列表中进行集群升级操作。
背景信息
在 Kubernetes 中,应用管理是需求最多、挑战最大的领域。Helm 项目提供了一个统一软件打包方式,支持版本控制,简化 Kubernetes 应用分发与部署中的复杂性。阿里云容器服务在应用目录管理功能中集成了 Helm 工具,并进行了功能扩展,支持官方 Repository,让您快速部署应用。您可以通过命令行或容器服务控制台界面两种方式进行部署。
本文档介绍 Helm 的基本概念和使用方式,演示在阿里云的 Kubernetes 集群上利用 Helm 来部署示例应用 WordPress 和 Spark。
Helm 基本概念
Helm 是由 Deis 发起的一个开源工具,有助于简化部署和管理 Kubernetes 应用。
Helm 可以理解为 Kubernetes 的包管理工具,可以方便地发现、共享和使用 Kubernetes 构建的应用,它包含以下几个基本概念。
- Chart:一个 Helm 包,其中包含了运行一个应用所需要的镜像、依赖和资源定义等,还可能包含 Kubernetes 集群中的服务定义,类似 Homebrew 中的 formula、APT 的 dpkg 或者 Yum 的 rpm 文件。
- Release:在 Kubernetes 集群上运行的 Chart 的一个实例。在同一个集群上,一个 Chart 可以安装很多次。每次安装都会创建一个新的 release。例如一个 MySQL Chart,如果想在服务器上运行两个数据库,就可以把这个 Chart 安装两次。每次安装都会生成自己的 Release,会有自己的 Release 名称。
- Repository:用于发布和存储 Chart 的存储库。
Helm 组件
Helm 采用客户端/服务器架构,由如下组件组成:
- Helm CLI 是 Helm 客户端,可以在 Kubernetes 集群的 master 节点或者本地执行。
- Tiller 是服务器端组件,在 Kubernetes 集群上运行,并管理 Kubernetes 应用程序的生命周期。
- Repository 是 Chart 存储库,Helm 客户端通过 HTTP 协议来访问存储库中 Chart 的索引文件和压缩包。
通过控制台界面部署应用
通过命令行部署应用
通过命令行部署应用时,您可以 SSH 登录 Kubernetes 集群的 master 节点 (Helm CLI 已自动安装并已配置Repository)进行操作,参见SSH 访问 Kubernetes 集群。您也可以在本地安装配置 kubectl 和 Helm CLI。
本示例以在本地安装配置 kubectl 和 Helm CLI 并部署 WordPress 和 Spark 应用为例进行说明。
使用第三方的 Chart 存储库
您除了可以使用预置的阿里云的 Chart 存储库,也可以使用第三方的 Chart 存储库(前提是网络是可达的)。使用如下命令格式添加第三方 Chart 存储库。
helm repo add 存储库名 存储库URL
helm repo update
关于 Helm 相关命令的说明,您可以参见 Helm 文档。
参考信息
Helm 催生了社区的发展壮大,越来越多的软件提供商,如 Bitnami 等公司,开始提供高质量的 Charts。您可以在 https://kubeapps.com/
中寻找和发现已有的 Charts。
相关文档
相关产品
-
容器服务Kubernetes版
容器服务Kubernetes版(Container Service for Kubernetes)提供高性能可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。
-
容器服务(已停止服务)
容器服务(Container Service)提供了高性能可伸缩的容器应用管理服务,支持在一组云服务器上通过 Docker 容器来进行应用生命周期管理。容器服务极大地简化了用户对容器管理集群的搭建工作,无缝整合了阿里云虚拟化、存储、网络和安全能力,打造 Docker 云端最优化的运行环境。容器服务提供了多种应用发布方式和流水线般的持续交付能力,原生支持微服务架构,助力用户无缝上云和跨云管理。
-
容器镜像服务
容器镜像服务(Container Registry)提供安全的应用镜像托管能力,精确的镜像安全扫描功能,稳定的国内外镜像构建服务,便捷的镜像授权功能,方便用户进行镜像全生命周期管理。容器镜像服务简化了Registry的搭建运维工作,支持多地域的镜像托管,并联合容器服务等云产品,打造云上使用Docker的一体化体验。
以上内容是否对您有帮助?
在文档使用中是否遇到以下问题
-
内容错误
-
更新不及时
-
链接错误
-
缺少代码/图片示例
-
太简单/步骤待完善
-
其他
-
内容错误
-
更新不及时
-
链接错误
-
缺少代码/图片示例
-
太简单/步骤待完善
-
其他
更多建议
匿名提交感谢您的打分,是否有意见建议想告诉我们?
感谢您的反馈,反馈我们已经收到
文档反馈
鼠标选中内容,快速选择问题
选中存在疑惑的文档内容,即可生成 截图进行反馈,我们会跟进处理。
文档反馈