Helm快速入门指南
#致读者
快速入门指南
本指南介绍如何快速开始使用Helm。
先决条件
想成功和正确地使用Helm,需要以下前置条件。
- 一个 Kubernetes 集群
- 确定你安装版本的安全配置
- 安装和配置Helm。
安装或者使用现有的Kubernetes集群
- 使用Helm,需要一个Kubernetes集群。对于Helm的最新版本,我们建议使用Kubernetes的最新稳定版, 在大多数情况下,它是倒数第二个次版本。
- 您也应该有一个本地的
kubectl
.
查看Helm和对应支持的Kubernetes版本,您可以参考 Helm 版本支持策略。
安装
您可以通过 homebrew
下载二进制Helm client安装包,也可以通过github下载 github 官方发布页面
除此之外的更多安装方式详见 安装指南。
初始化
当您已经安装好了Helm之后,您可以添加一个chart 仓库。从 Artifact Hub中查找有效的Helm chart仓库。
$ helm repo add stable https://charts.helm.sh/stable
当添加完成,您将可以看到可以被您安装的charts列表:
$ helm search repo stable
NAME CHART VERSION APP VERSION DESCRIPTION
stable/acs-engine-autoscaler 2.2.2 2.1.1 DEPRECATED Scales worker nodes within agent pools
stable/aerospike 0.2.8 v4.5.0.5 A Helm chart for Aerospike in Kubernetes
stable/airflow 4.1.0 1.10.4 Airflow is a platform to programmatically autho...
stable/ambassador 4.1.0 0.81.0 A Helm chart for Datawire Ambassador
# ... and many more
安装Chart示例
您可以通过helm install
命令安装chart。 Helm可以通过多种途径查找和安装chart, 但最简单的是安装官方的stable
charts。
$ helm repo update # 确定我们可以拿到最新的charts列表
$ helm install stable/mysql --generate-name
Released smiling-penguin
在上面的例子中,stable/mysql
这个chart被发布,名字是 smiling-penguin
您可以通过执行 helm show chart stable/mysql
命令简单的了解到这个chart的基本信息。 或者您可以执行 helm show all stable/mysql
获取关于该chart的所有信息。
每当您执行 helm install
的时候,都会创建一个新的发布版本。 所以一个chart在同一个集群里面可以被安装多次,每一个都可以被独立的管理和升级。
helm install
是一个拥有很多能力的强大的命令,更多信息详见 使用 Helm
关于版本发布
通过Helm您可以很容易看到哪些chart被发布了:
$ helm ls
NAME VERSION UPDATED STATUS CHART
smiling-penguin 1 Wed Sep 28 12:59:46 2016 DEPLOYED mysql-0.1.0
helm list
命令会列出所有可被部署的版本。
卸载一个版本
您可以使用helm uninstall
命令卸载你的版本
$ helm uninstall smiling-penguin
Removed smiling-penguin
该命令会从Kubernetes卸载 smiling-penguin
, 它将删除和该版本相关的所有相关资源(service、deployment、 pod等等)甚至版本历史。
如果您在执行 helm uninstall
的时候提供 --keep-history
选项, Helm将会保存版本历史。 您可以通过命令查看该版本的信息
$ helm status smiling-penguin
Status: UNINSTALLED
...
因为 --keep-history
选项会让helm跟踪你的版本(即使你卸载了他们), 所以你可以审计集群历史甚至使用 helm rollback
回滚版本。
查看帮助信息
如果您想通过Helm命令查看更多的有用的信息,请使用 helm help
命令,或者在任意命令后添加 -h
选项:
$ helm get -h
上一篇: k8s-kubectl命令行工具
下一篇: 查看java对象在内存中的布局