【笔记】Helm-2 如何使用-2 同步你的仓库

同步你的仓库

注意:该示例是专门针对Google Cloud Storage(GCS)提供的chart仓库。

先决条件

安装gsutil工具。我们非常依赖gsutil rsync功能

https://cloud.google.com/storage/docs/gsutil

确保可以使用Helm程序

可选:我们推荐在您的GCS中设置 对象版本 以防不小心删除了什么。

https://cloud.google.com/storage/docs/gsutil/addlhelp/ObjectVersioningandConcurrencyControl#top_of_page

设置本地chart仓库目录

就像我们在 chart仓库指南 做的,创建一个本地目录,并将打包好的chart放在该目录中。

Helm | Chart仓库指南

例如:

$ mkdir fantastic-charts

$ mv alpine-0.1.0tgz fantastic-charts/

复制代码
$ mkdir fantastic-charts
$ mv alpine-0.1.0.tgz fantastic-charts/

生成新的index.yaml

使用Helm生成新的index.yaml文件,通过将目录路径和远程仓库url传递给helm repo index命令:

$ helm repo index fantastic-charts/ --url https://fantastic-charts.storage.googleapis.com

$ helm repo index fantastic-charts/ --url https://fantastic-charts.storage.googleapis.com

这会生成新的index.yaml文件并放在fantastic-charts/目录。

同步本地和远程仓库

使用scripts/sysnc-repo.sh命令上传GSC目录中的内容并传入本地目录名和GCS名。

例如:

$ pwd

$ scripts/sync-repo.sh fantastic-charts/ fantastic-charts

复制代码
$ pwd
/Users/me/code/go/src/helm.sh/helm
$ scripts/sync-repo.sh fantastic-charts/ fantastic-charts
Getting ready to sync your local directory (fantastic-charts/) to a remote repository at gs://fantastic-charts
Verifying Prerequisites....
Thumbs up! Looks like you have gsutil. Let's continue.
Building synchronization state...
Starting synchronization
Would copy file://fantastic-charts/alpine-0.1.0.tgz to gs://fantastic-charts/alpine-0.1.0.tgz
Would copy file://fantastic-charts/index.yaml to gs://fantastic-charts/index.yaml
Are you sure you would like to continue with these changes?? [y/N]} y
Building synchronization state...
Starting synchronization
Copying file://fantastic-charts/alpine-0.1.0.tgz [Content-Type=application/x-tar]...
Uploading   gs://fantastic-charts/alpine-0.1.0.tgz:              740 B/740 B
Copying file://fantastic-charts/index.yaml [Content-Type=application/octet-stream]...
Uploading   gs://fantastic-charts/index.yaml:                    347 B/347 B
Congratulations your remote chart repository now matches the contents of fantastic-charts/

更新您的chart仓库

您需要保留chart仓库内容的本地副本或使用gsutil rsync拷贝远程chart仓库内容到本地目录。

例如:

$ gsutil rsync -d -n gs://bucket-name local-dir/ # the -n flag does a dry run

$ gsutil rsync -d gs://bucket-name local-dir/ # performs ths copy actions

复制代码
$ gsutil rsync -d -n gs://bucket-name local-dir/    # the -n flag does a dry run
Building synchronization state...
Starting synchronization
Would copy gs://bucket-name/alpine-0.1.0.tgz to file://local-dir/alpine-0.1.0.tgz
Would copy gs://bucket-name/index.yaml to file://local-dir/index.yaml

$ gsutil rsync -d gs://bucket-name local-dir/       # performs the copy actions
Building synchronization state...
Starting synchronization
Copying gs://bucket-name/alpine-0.1.0.tgz...
Downloading file://local-dir/alpine-0.1.0.tgz:                        740 B/740 B
Copying gs://bucket-name/index.yaml...
Downloading file://local-dir/index.yaml:                              346 B/346 B

帮助链接

gsutil rsync文档

https://cloud.google.com/storage/docs/gsutil/commands/rsync#description

Chart仓库指南

Helm | Chart仓库指南

Google Cloud Storage的 对象版本控制和并发控制

https://cloud.google.com/storage/docs/gsutil/addlhelp/ObjectVersioningandConcurrencyControl#overview


仅用于本人学习

来源:Helm | Docs

相关推荐
阿狸猿2 小时前
论基于云原生数据库的企业信息系统架构设计
数据库·云原生
丑过三八线2 小时前
Kubernetes 常用命令速查手册
云原生·容器·kubernetes
睡不醒男孩0308234 小时前
云原生环境下的云成本优化(FinOps)落地全景指南
云原生·clup
Plastic garden7 小时前
K8s(13) 题目回答
kubernetes
Plastic garden8 小时前
K8s(12)RuoYi on K8s 全流程 · 全思路 · 全排错 · 全配置
云原生·容器·kubernetes
yyoc979 小时前
本地 Flink on K8s + Iceberg + MinIO 实时数仓平台 — AI部署指南与踩坑实录
大数据·ai·flink·kubernetes·iceberg
sbjdhjd10 小时前
企业级 Tomcat (上):WEB 技术栈 + 架构演进 + 生产级安装部署
linux·运维·云原生·开源·tomcat·云计算·负载均衡
张忠琳19 小时前
【containerd 2.1.8】(Part 1)containerd 2.1.8 超深度源码分析 — 总体架构与模块全景
云原生·kubernetes·containerd
真实的菜21 小时前
微服务注册配置中心终极选型:2026指南
微服务·云原生·架构
Waay1 天前
K8s ETCD 详解|备份恢复+静态Pod原理+kubectl查询底层流程(面试必考)
面试·kubernetes·etcd