2.2 添加chart存储库

chart存储库本身就是一个宏大的主题,在第7章中我们将详细研究它们。但是任何使用Helm的人都必须知道一些关于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软件包存储的未来。详见第7章。

在因特网上有许多(可能数千个)chart存储库。找到流行存储库的最简单方法是使用Web浏览器导航到Artifact Hub(https://artifacthub.io)。在那里你会发现数以千计的Helm chart,每一个都托管在一个适当的存储库中。

首先,我们将安装流行的Drupal内容管理系统(https://www.drupal.org)。这是一个很好的示例chart,因为它使用了Kubernetes的许多类型,包括Deployment、Service、Ingress和ConfigMap(部署、服务、入口和配置映射)。

Helm 2默认安装了一个Helm存储库。stable chart存储库曾一度是生产就绪的Helm chart的官方来源。但我们意识到,将chart集中到一个存储库对一小群维护人员来说任务过于繁重,而对chart贡献者来说则令人沮丧。

因此在Helm 3中没有默认的存储库。鼓励用户使用Artifact Hub来查找他们要查找的内容,然后添加他们首选的存储库。

Drupal的Helm chart位于一个最完善的chart库中:Bitnami的官方Helm chart。你可以查看Artifact Hub的Drupal chart(https://oreil.ly/baxxf)条目以获取更多信息。

一些Bitnami开发人员是设计Helm存储库系统的核心贡献者。他们为建立Helm chart开发的最佳实践做出了贡献,并编写了许多应用最广泛的chart。

使用helm repo add命令添加Helm chart。几个Helm存储库命令被划分在helm repo命令组下:

helm repo add命令将添加一个名为bitnami的存储库,该存储库指向URLhttps://charts.bitnami.com/bitnami

现在,我们可以通过运行第二个repo命令来验证Bitnami存储库是否存在:

这个命令显示了为Helm安装的所有存储库。现在,我们只看到刚才添加的Bitnami存储库。

一旦我们添加了一个存储库,它的索引就将被本地缓存,直到下次更新它(见第7章)。我们现在可以做的一件重要的事情就是搜索存储库。