参考链接
https://help.aliyun.com/document_detail/86511.html
在 Kubernetes 中,应用管理是需求最多、挑战最大的领域。Helm 项目提供了一个统一软件打包方式,支持版本控制,可以大大简化 Kubernetes 应用分发与部署中的复杂性。
阿里云容器服务在应用目录管理功能中集成了 Helm 工具,并进行了功能扩展,支持官方 Repository,让您快速部署应用。您可以通过命令行或容器服务控制台界面两种方式进行部署。
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 的索引文件和压缩包。
安装配置 Helm CLI
安装和配置kubectl
安装heml
https://github.com/helm/helm/releases
安装方法,参见 Install Helm。
1
2
3
4
5
6
7
8
9
10
111、获取安装包
wget https://get.helm.sh/helm-v2.14.2-linux-amd64.tar.gz
2、解压
tar zxf helm-v2.14.2-linux-amd64.tar.gz
3、Find the helm binary in the unpacked directory, and move it to its desired destination
mv linux-amd64/helm /usr/local/bin/helm
4、验证
helm help配置 Helm 的 Repository。这里我们使用了阿里云容器服务提供的 Charts 存储库。
1
2
3helm init --client-only --stable-repo-url https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts/
helm repo add incubator https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/
helm repo update
Helm基础操作
若要查看在集群上安装的 Charts 列表,请键入:
1
helm list
或者缩写
1
helm ls
若要查看存储库配置,请键入:
1
helm repo list
若要查看或搜索存储库中的 Helm charts,请键入以下任一命令:
1
2
3helm search
helm search 存储库名称 #如 stable 或 incubator
helm search chart名称 #如 wordpress 或 spark若要更新 charts 列表以获取最新版本,请键入:
1
helm repo update
删除应用
1
helm delete --purge "myspark"
有关 Helm 使用的详细信息,请参阅 Helm项目。
使用第三方的 Chart 存储库
您除了可以使用预置的阿里云的 Chart 存储库,也可以使用第三方的 Chart 存储库(前提是网络是可达的)。使用如下命令格式添加第三方 Chart 存储库。
1 | helm repo add 存储库名 存储库URL |
关于 Helm 相关命令的说明,您可以参阅 Helm 文档
参考信息
Helm 催生了社区的发展壮大,越来越多的软件提供商,如 Bitnami 等公司,开始提供高质量的 Charts。您可以在 https://kubeapps.com/
中寻找和发现已有的 Charts。