随着Helm毕业,公开可用的Helm Charts数量不断增长,Helm社区的发展速度令人振奋,但要管理如此大量的HelmCharts和HelmChart仓库依然是一个挑战。
一个好的HelmCharts仓库,就像船长一样,驾驶轮船不仅需要清楚可以去哪些地方,还需要确保相关人员能够安全可靠地到达的所需的目的地。在行进的过程中不仅需要看到海面上的问题,还需要了解隐藏在海平面以下的危险。
这就是为什么我们自豪地宣布启动ChartCenter的原因,ChartCenter是面向社区以及开发人员的免费的公共HelmCharts中央存储库。
ChartCenter地址:https://chartcenter.io/
Github地址:https://github.com/jfrog/chartcenter/
ChartCenter
用户通过ChartCenter丰富的UI,可以在成千上万个Kubernetes-ready的软件包中搜索,以找到所需的软件包。通过ChartCenter,您可以发现并启动分布在许多公共存储库中的应用程序。ChartCenter类似于搜索服务Helm Hub和Artifact Hub。
![11111.png](https://static.studygolang.com/200708/1176acf6401988bfb6ff17b336b82a1e.png)
ChartCenter不仅仅是Helm charts的目录。而是由Artifactory提供支持的一个包含不可变的版本Helm charts存储仓库。因此,您的Helm CLI可以从一个集中的单一可信源拉取所需的所有公共的Helm chart。
ChartCenter针对每个存储的Helm chart维护了完善的元数据,该元数据可为您选择正确的版本提供所需的关键信息。这些功能对您的意义如下:
(https://static.studygolang.com/200708/32f9e32c95627f44fe7adf3d8db682f7.png)![22222.png]
不可变、版本化 Helm Charts
ChartCenter是所有chart版本的来源是单一可信的。可以确定,即使Helm chart的所有者在其私有仓库中更改或删除了该版本,您今天使用的Helm chart版本与您上个月或去年使用的版本也是一致的。如果发生了上述情况,ChartCenter还将标记该版本,因此您不必感到惊讶。如果原始存储库由于任何原因变得不可用,ChartCenter也会提供故障保护。
ChartCenter还维护每个Helm charts版本的apiVersion和appVersion的元数据。
使用数据
ChartCenter会通知您在哪个位置将Helm chart用作另一个Helm chart(作为subchart)的依赖项。
![33333.png](https://static.studygolang.com/200708/0b6ed01e4771428b7a59d322e8c66d5c.png)
确定依赖性
对于每个Helm chart的版本,ChartCenter都会标识所使用的所有依赖项,包括Docker镜像和 subchart。您可以浏览UI来查看每个相关Docker镜像的所有layer层。
![44444.png](https://static.studygolang.com/200708/ba45e9d6bf5f5be430bbdcc669a9273d.png)
展示漏洞
通过JFrog Xray进行深度递归扫描,ChartCenter对Helm chart的所有依赖的docker镜像进行漏洞分析。因此,您可以在部署任何K8s应用程序之前评估其安全风险。
![55555.png](https://static.studygolang.com/200708/69188dbb7394cf48496be3e31a0136a2.png)
减轻维护人员的安全顾虑
ChartCenter在UI上还为chart维护者提供chart安全状态概述的功能。维护者通过一个yaml文件,标记CVE并提供注释。一旦维护者在更新的chart中提供了Yaml,这些注释将可用,并且将如下所示:
![66666.png](https://static.studygolang.com/200708/c6de6136557adda4865c9b162572d333.png)
使用ChartCenter
现在,我们已经发布了ChartCenter的一些功能,下面介绍如何将ChartCenter与Helm客户端一起使用的步骤。
步骤1:将ChartCenter添加为您的Helm repo
将您的Helm客户端设置为使用ChartCenter repo作为您使用chart的单一中心:
$ helm repo add center https :// repo.chartcenter.io
$helm repo update
$helm search repo center/
最后一个命令将显示来自200多个Helm存储库的chart列表。我们对index.yaml进行了一些优化,以使index.yaml变小,从而加快了Helm客户端的使用速度。
步骤2:将ChartCenter用作存储库
让我们检查一些Helm存储库:
$ helm search repo center/jfrog/artifactory-jcr
NAME CHART Version App Version DESCRIPTION
center/jfrog/artifactory-jcr 2.3.1 7.5.7 JFrog Container Reg
$ helm search repo center/rancher
NAME CHART Version App Version DESCRIPTION
center/rancher-stable/rancher 2.4.5. v2.4.5 Install Rancher Server
在这里,您可以看到使用一个中央存储库比添加许多Helm存储库要容易得多。
下一步计划
ChartCenter的发布只是我们更好地使用Helm Chart的开始。我们还希望直接与社区合作以完善这些功能,希望获得社区及用户对UI、安全信息、Helm插件和Helm存储库的改进意见以及最佳实践等方面的信息。
要了解更多信息,请立即查看ChartCenter。
有疑问加站长微信联系(非本文作者)