Helm客户端长期以来一直可以从谷歌云存储的存储桶中下载,该存储桶位于https://kubernets-helm.storage.googleapis.com。在Kubernetes成为CNCF的一部分之前,Helm就已经使用了谷歌云中的这个桶。这个桶上的第一个发行版是Helm v2.0.0-alpha.5!
谷歌长期以来一直慷慨地为这个站点提供资金。自从Helm开始使用它,Helm(作为Kubernetes的一部分)进入了CNCF,然后从Kubernetes的保护伞下退出,成为CNCF中Kubernetes的姐妹项目。
CNCF正在接管Kubernetes的基础设施。现在是时候让Helm从谷歌资助的站点转移到CNCF资助的站点。谷歌云桶不能在项目之间转移,这意味着我们不能将桶转移到CNCF账户。作为搬家的一部分,我们需要搬到一个新的地方。
我们现在的情况是?
Helm项目现在将客户端下载发布到https://get.helm.sh。所有Helm版本从Helm v2.0-alpha,以及最新的Helm 3 alpha.1版本可供下载。
出于向后兼容性的考虑,Helm 2的新版本将继续以旧URL发布,但是我们强烈鼓励用户迁移。
展望未来,这是唯一一个你能找到Helm 3的地方;它们没有被上传到旧的存储桶中。Helm 3.0.0-alpha.1现已可供下载。
我需要做什么?
如果你在CI管道中使用旧的URL,可以将https://kubernetes-helm.storage.googleapis.com/kubernetes-helm替换为https://get.helm.sh。
如果你正在使用get脚本,它现在从新的URL中提取,因此你不需要进行任何更改。
我们的Github发行版中的所有下载URL都已更改为使用新的URL。
组成部分是什么?
get.helm.sh有三个主要组件:
- Azure Blob存储
- Azure CDN
- get.helm.sh域名
在我们的发布管道中,Helm 2和Helm 3的下载被上传到Azure Blob存储中(为了向后兼容,Helm 2的下载也被上传到谷歌云存储中)。Azure CDN提供该内容,前端是自定义域名。
为什么选择新站点?
作为迁移的一部分,我们开始考虑社区一直要求的一些新特性:
一个官方的helm.sh URL
在此转换期间,我们希望确保不会再次干扰用户,要求他们更改部署管道以指向新的位置。我们决定将一个我们控制的URL放在存储提供程序前面。这样,将来我们就不需要再要求用户切换URL了。如果底层存储提供程序在将来的某个时候需要更改,我们可以将URL点放在新位置,而不需要进行这种级别的中断。
在边缘的内容交付
Azure CDN是全球可用的内容交付网络,它是https://get.helm.sh的前端。这将为分布在世界各地的用户提供更快的下载速度,而不仅仅是那些位于美国东部的用户。
它还提供了以前不可用的地区的可用性,如……
在中国可用性
中国是CNCF的大市场,也是Helm的大市场。谷歌云存储在中国是访问不了,因此该地区有兴趣使用Helm的用户设置了镜像来解决这个问题。
这是一个特别在采用是的关注领域:作为一个用户,我现在依靠一个非官方的镜像来下载,相对于从官方发布下载,这有某种程度的风险。
Azure CDN可以使用靠近中国的地点提供内容给中国用户。现在在中国可以下载Helm,我们可以看到Helm在这个领域有多受欢迎,这要归功于……
下载度量
我们脑海中不断出现的一个问题是用户每天是如何使用Helm的。核心维护者对以下问题有兴趣:
- 在使用哪个版本的Helm?
- 在世界上哪些地区在使用Helm?
- 社区迁移到新版本的Helm需要多长时间?
- 有多少用户正在下载Helm 3 vs. Helm 2?
我们新的CDN提供了一组丰富的度量,可以为这些问题提供答案。
虽然这些度量目前只供核心维护者使用,但是我们正在讨论如何以类似于https://devstats.cncf.io/的方式与社区共享这些度量。
警告:Tiller和Chart的下载
请注意,此更改仅用于Helm客户端下载。Tiller没有从谷歌容器仓库中移出,稳定的和孵化级的Helm chart存储库仍然托管在谷歌云上。
如果你对这一变化有任何疑问,请让我们知道。有关此更改的更多信息,请参阅问题#5663。
https://github.com/helm/helm/issues/5663
点击文末<<阅读原文>>进入网页了解更多。