首页> DevOps> 如何利用Helm简化Kubernetes应用部署

[文章]如何利用Helm简化Kubernetes应用部署

收藏
0 317 0

Helm的基本概念

Helm 可以理解为 Kubernetes 的包管理工具,可以方便地发现、共享和使用为Kubernetes构建的应用,它包含几个基本概念

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

·      Release: Kubernetes 集群上运行的 Chart 的一个实例。在同一个集群上,一个 Chart 可以安装很多次。每次安装都会创建一个新的 release。例如一个 MySQL Chart,如果想在服务器上运行两个数据库,就可以把这个 Chart 安装两次。每次安装都会生成自己的 Release,会有自己的 Release 名称。

·      Repository:用于发布和存储 Chart 的仓库。

Helm组件

Helm 采用客户端/服务器架构,有如下组件组成:

·      Helm CLI  Helm 客户端,可以在本地执行

·      Tiller 是服务器端组件,在 Kubernetes 群集上运行,并管理 Kubernetes 应用程序的生命周期

·      Repository  Chart 仓库,Helm客户端通过HTTP协议来访问仓库中Chart的索引文件和压缩包。

安装以及配置Helm

安装过程请参考本人上一篇技术文章,安装好 Helm 后,通过键入如下命令,在 Kubernetes 群集上安装 Tiller


在缺省配置下, Helm 会利用 "gcr.io/kubernetes-helm/tiller" 镜像在Kubernetes集群上安装配置 Tiller;并且利用 "https://kubernetes-charts.storage.googleapis.com" 作为缺省的 stable repository 的地址。由于在国内可能无法访问 "gcr.io", "storage.googleapis.com" 等域名,阿里云容器服务为此提供了镜像站点。

请执行如下命令利用阿里云的镜像来配置 Helm


安装成功完成后,将看到如下输出:


若要查看在存储库中可用的所有 Helm charts,请键入以下命令:


将看到如下输出:


若要更新charts列表以获取最新版本,请键入:


若要查看在群集上安装的Charts列表,请键入:


Kubernetes 1.6版本开始,API Server启用了RBAC授权。而目前的Tiller部署没有定义授权的ServiceAccount,这会导致访问API Server时被拒绝。我们可以采用如下方法,明确为Tiller部署添加授权。


下面我们将利用Helm,来部署一个 WordPress 博客网站

输入如下命令:


我们可以得到如下的结果

 

利用如下命令可以获得 WordPress 的访问地址


总结

Kubernetes中,应用管理是需求最多、挑战最大的领域。Helm项目提供了一个统一软件打包方式,支持版本控制,可以大大简化Kubernetes应用分发与部署中的复杂性。






DevOps
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}