Helm 是啥?
微服务和容器化给复杂应用部署与管理带来了极大的挑战。Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的apt-get / yum,由Deis 公司发起,该公司已经被微软收购。Helm通过软件打包的形式,支持发布的版本管理和控制,很大程度上简化了Kubernetes应用部署和管理的复杂性。
Helm 架构
Helm 用途
做为Kubernetes的一个包管理工具,Helm具有如下功能:
- 创建新的chart
- chart打包成tgz格式
- 上传chart到chart仓库或从仓库中下载chart
- 在Kubernetes集群中安装或卸载chart
- 管理用Helm安装的chart的发布周期
Helm有三个重要概念:
- chart:包含了创建Kubernetes的一个应用实例的必要信息
- config:包含了应用发布配置信息
- release:是一个chart及其配置的一个运行实例
如何在阿里云容器服务使用Helm
阿里云容器服务的kubernets集群默认集成了helm并初始化提供了一些常用charts,下面我们就以安装wordpress示例来演示使用流程。
以上为容器服务默认提供的一些安装charts,下面我们来安装wordpress:
可以根据用户自身的需要,修改wordpress安装charts的一些默认配置,当然使用默认配置安装也是没问题的,输入本次安装release的名字,点击部署后就完成了一键部署。
我们使用控制台查看一下部署资源的情况:
可以看到wordpress的依赖资源都已经安装完毕,访问图中圈出来的地址就可以打开wordpress界面:
可以看到wordpress已经可以正常访问。如果使用传统方式,你可能需要创建一堆deployment + service + pvc等集合体,现在只需要一键部署,等待片刻,一个wordpress应用就可以展现在你面前。