使用基于OCI的注册中心
从Helm 3开始,可以使用具有 OCI 支持的容器注册中心来存储和共享chart包。从Helm v3.8.0开始,默认启用OCI支持。
Open Container Initiative - Open Container Initiative
v3.8.0版本之前对OCI的支持
OCI支持在Helm v3.8.0版本从试验阶段过度成为普通可用。在之前版本中,对OCI支持会有不同的地方。如果您在v3.8.0之前的版本使用OCI,需要着重了解不太难Helm版本之间OCI的变化。
在v3.8.0之前的版本启用OCI支持
Helm v3.8.0版本之前,OCI支持是试验性的且必须显示启动。
https://github.com/helm/helm/releases/tag/v3.8.0
为了在之前版本中启用OCI试验性支持,需要在环境变量中设置HTLM_EXPERIMENTAL_OCI,例如:
export HELM_EXPERIMENTAL_OCI=1
export HELM_EXPERIMENTAL_OCI=1
OCI在v3.8.0中的弃用和行为变化
Helm v3.8.0版本中,以下行为和特性与之前版本不同:
1、在依赖中将chart设置为OCI时,版本号可以像其他依赖一样设置成范围。
2、包含构建信息的SemVer tag可以被推送和使用。OCI注册中心的tag字符不支持+。如果有,Helm会将+转成_。
3、helm registry login 命令现在采用与Docker CLI相同的结构存储凭证。Helm和Docker CLI的注册表配置使用一样的路径。
OCI在v3.7.0中的弃用和行为变化
Helm v3.7.0版本中包含了针对执行OCI的HIP 6执行策略。因此以下行为和特性与之前版本不同:
https://github.com/helm/helm/releases/tag/v3.7.0
https://github.com/helm/community/blob/main/hips/hip-0006.md
1、移除了helm chart子命令。
2、移除了chart缓存(没有了helm chart list等等)。
3、OCI注册引用现在需要以oci://开头。
4、注册引用的tag必须和chart的语义版本匹配(比如没有latest这种tag)。
5、chart层的媒体类型从application/tar+gzip转换成了application/vnd.cnf.helm.chart.content.v1.tar+gzip。
仅用于本人学习
来源:Helm | Docs