添加chart存储库
Helm chart是一个单独的软件包,可以安装到Kubernetes集群中。
在chart开发过程中,通常只使用存储在本地文件系统中的chart。
但当共享chart时,Helm描述了一种标准格式,用于索引和共享有关Helm chart的信息。
Helm chart存储库只是一组可通过网络访问、符合Helm规范的文件。
Helm 3引入了一个实验特性,用于将Helm chart存储在不同类型的存储库中:Open Container Initiative(OCI)注册中心(有时称为Docker注册中心)。在这个后端,一个Helm chart可以存储在Docker镜像旁边。虽然这个功能还没有得到广泛的支持,但它可能会成为Helm软件包存储的未来。
网上有许多chart存储库。找存储库的最简单的方法是使用浏览器导航到Artifact Hub(artifacthub.io)。
那里有数以千计的Helm chart,每一个都托管在一个适当的存储库中。
首先,将安装流行的Drupal内容管理系统(www.drupal.org)。
这是一个很好的示例chart,因为它使用了Kubernetes的许多类型,包括Deployment、Service、Ingress和ConfigMap(部署、服务、入口和配置映射)。
Helm 2默认安装了一个Helm存储库。stable chart存储库曾一度是生产就绪的Helm chart的官方来源。
在Helm 3中没有默认的存储库。鼓励使用Artifact Hub来查找内容,然后添加存储库。
Drupal的Helm chart位于一个最完善的chart库中:Bitnami的官方Helm chart。可以查看Artifact Hub的Drupal chart(oreil.ly/baxxf)条目以获取更多信息。
一些Bitnami开发人员是设计Helm存储库系统的核心贡献者。他们为建立Helm chart开发的最佳实践做出了贡献,并编写了许多应用最广泛的chart。
$ helm repo add bitnami https://charts.bitnami.com/bitnami
"bitnami" has been added to your repositories
helm repo add 命令将添加一个名为bitnami的存储库,该存储库指向URLcharts.bitnami.com/bitnami。
现在,可以通过运行 helm repo list 来验证Bitnami存储库是否存在
$ helm repo list
NAME
URL
bitnami https://charts.bitnami.com/bitnami
这个命令显示了为Helm安装的所有存储库。可以看到刚才添加的Bitnami存储库。
一旦添加了一个存储库,它的索引就将被本地缓存,直到下次更新它。
搜索chart存储库
尽管已经了解了Artifact Hub,知道Drupal chart存在于这个存储库中,但是从命令行搜索它仍然很有用。
通常,搜索是一种有用的方法,不仅可以找到可以安装的chart,而且可以找到可用的版本。
首先,搜索Drupal chart:
$ helm search repo drupal
NAME CHART VERSION APP VERSION ESCRIPTION
bitnami/drupal 7.0.0 9.0.0 One of the most versatile open...
对drupal这个词做了一个简单的搜索。Helm不仅会搜索包名,还会搜索标签和描述等其他字段。
因此,可以搜索content(内容)并在那里看到Drupal,因为它是一个内容管理系统:
helm search repo content
虽然Drupal是第一个结果,但请注意,还有许多其他chart,它们在描述性文本中的某个地方,包含单词content。
默认情况下,Helm尝试安装chart的最新稳定版本,但是可以覆盖此行为并安装chart的特定版本。
如此,不仅可以查看chart的摘要信息,还可以查看chart的确切版本:
helm search repo drupal --version
chart版本和应用程序版本
chart版本是Helm chart的版本。
应用程序版本是打包在chart中的应用程序的版本。
Helm使用chart版本来进行版本控制决策,比如哪个软件包是最新的。正如之前的示例,多个chart版本可能包含相同的应用程序版本。