tangz be438e7c08 文档更新 | 5 years ago | |
---|---|---|
.. | ||
README.md | 5 years ago |
如果一个用户想要部署一个 K8s 应用,最快捷的方法是什么? 我们知道,Kubernetes(简称 K8s)是一个能够部署和管理容器的平台,然而,它还没有抽象到“应用”这一层概念:一个应用往往由多个 K8s 资源(Deployment、Service、ConfigMap 等)组成。为了部署应用,我们需要一个能在 K8s 之上部署和管理应用所包含的资源(K8s API Resource)的工具——这就是 Helm 所做的事情。 除了资源,Helm 还定义了一套 Chart 格式来描述应用。怎么理解 Chart 呢?打个比方,如果把一个安卓程序打包成 APK 格式,它就可以被安装到任意一台运行安卓系统的手机上。如果我们把 K8s 比做安卓系统,把 K8s 应用比做安卓程序,那么 Chart 就可以比做 APK。 这也意味着,K8s 应用只要打包成 Chart ,就可以通过 Helm 部署到任意一个 K8s 集群上。
AppHub 是一个托管在国内公有云上、全公益性的 Helm Hub “中国站”。这个站点的一个重要职责,就是把所有 Helm Hub 官方托管的应用自动同步到国内,同时自动将 Charts 文件中的 gcr.io 等所有存在网络访问问题的 URL 替换成为稳定的国内镜像 URL 。 通过 AppHub,国内开发者终于也可以随心所欲地搜索 Charts,然后直接使用 helm install 命令将这些应用安装在全世界任何一个 Kubernetes 集群当中啦!
推荐使用 Helm v3 版本,地址:https://github.com/helm/helm/releases
Helm v3 跟 Helm v2 的区别就好比 Python 2 和 Python 3 ,Helm v3 比 Helm v2 好用多了(比如不需要安装服务端组件 Tiller)
下载到 Helm 二进制文件,直接解压到 $PATH 下就可以使用了。
$ tar zxvf helm-v3.0.1-linux-amd64.tar.gz
$ cp linux-amd64/helm /usr/bin/
$ helm repo add apphub https://apphub.aliyuncs.com
$ helm search repo pytorch
$ helm install pytorch apphub/pytorch