13.2. 使用 Red Hat Quay 的 Helm chart
作为 Cloud Native Computing Foundation(CNCF)的研究项目,Helm 已成为 Kubernetes 的事实软件包管理器,因为它简化了应用被打包和部署的方式。Helm 使用名为 Charts 的打包格式,其中包含代表应用程序的 Kubernetes 资源。可以为存储库中的常规分发和使用提供 chart。Helm 仓库是提供 index.yaml
元数据文件的 HTTP 服务器,以及一组可选的打包 chart。从 Helm 版本 3 开始,支持以替代传统仓库的方式在 OCI registry 中分发 chart。
13.2.1. 在 Red Hat Quay 中使用 Helm chart
使用以下示例,从红帽实践(CoP)仓库中下载和推送 etherpad chart。
流程
添加 chart 存储库:
$ helm repo add redhat-cop https://redhat-cop.github.io/helm-charts
从 chart 仓库本地更新可用 chart 的信息:
$ helm repo update
从仓库下载 chart:
$ helm pull redhat-cop/etherpad --version=0.0.4 --untar
将 chart 打包到 chart 归档中:
$ helm package ./etherpad
输出示例
Successfully packaged chart and saved it to: /home/user/linux-amd64/etherpad-0.0.4.tgz
使用
helm registry 登录您的 Quay 存储库
:$ helm registry login quay370.apps.quayperf370.perfscale.devcluster.openshift.com
使用
helm push
命令将 chart 推送到您的 Quay 存储库:$ helm push etherpad-0.0.4.tgz oci://quay370.apps.quayperf370.perfscale.devcluster.openshift.com
输出示例:
Pushed: quay370.apps.quayperf370.perfscale.devcluster.openshift.com/etherpad:0.0.4 Digest: sha256:a6667ff2a0e2bd7aa4813db9ac854b5124ff1c458d170b70c2d2375325f2451b
通过删除本地副本来确保推送是否正常工作,然后从存储库拉取 chart:
$ rm -rf etherpad-0.0.4.tgz
$ helm pull oci://quay370.apps.quayperf370.perfscale.devcluster.openshift.com/etherpad --version 0.0.4
输出示例:
Pulled: quay370.apps.quayperf370.perfscale.devcluster.openshift.com/etherpad:0.0.4 Digest: sha256:4f627399685880daf30cf77b6026dc129034d68c7676c7e07020b70cf7130902