Helm chart指南-系列(5)- 同步chart库

简介: 同步chart库 注意:这个样例适用于于提供chart库的Google Cloud Storage(GCS)存储bucket。 前提条件 安装gsutil 工具。这个样例依赖于gsutil rsync功能。

同步chart库

注意:这个样例适用于于提供chart库的Google Cloud Storage(GCS)存储bucket。


前提条件

  • 安装gsutil 工具。这个样例依赖于gsutil rsync功能。
  • 确保有权访问Helm 客户端文件
  • 可选:我们建议在GCS存储桶上设置对象版本控制,以防意外删除某些内容。

设置本地chart库目录

像我们在the chart repository guide中一样创建一个本地目录,并将打包的chart放入该目录中。

例如:

$ mkdir fantastic-charts
$ mv alpine-0.1.0.tgz fantastic-charts/
AI 代码解读

生成更新的index.yaml

使用Helm通过将远程存储库的目录路径和url传递到helm repo index命令来生成更新的index.yaml文件,如下所示:

$ helm repo index fantastic-charts/ --url https://fantastic-charts.storage.googleapis.com
AI 代码解读

这将生成一个更新的index.yaml文件并放置在fantastic-charts/目录中。

同步本地和远程chart库

通过运行scripts/sync-repo.sh并传入本地目录名称和GCS存储桶名称,将目录的内容上传到您的GCS存储桶。

例如:


$ pwd /Users/funuser/go/src/github.com/kubernetes/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/
AI 代码解读

更新chart库

你可能需要保留chart库内容的本地副本,或者运行gsutil rsync将远程图表存储库的内容复制到本地目录。

例如:

$ 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
AI 代码解读

有用的网址:

本文转自kubernetes中文社区-Helm chart指南-系列(5)- 同步chart库
目录
打赏
0
0
0
0
67
分享
相关文章
容器 & 服务:Helm Charts配置文件分析
chart 是 Helm 的应用打包格式。chart 由一系列文件组成,这些文件描述了 K8s 部署应用时所需要的资源,比如 Service、Deployment、PersistentVolumeClaim、Secret、ConfigMap 等。 chart可繁可简,即可以只用于部署一个单独的服务,例如mysql、nginx等等,也可以用于部署整个应用,例如由HTTP服务、数据库、缓存、中间件等共同构成的复杂应用。
504 0
【kubernetes】新版helm3的三大概念+快速指南+自定义charts模板
chart:代表helm包,包含在 Kubernetes 集群内部运行应用程序,工具或服务所需的所有资源定义。 Repository(仓库):用来存放和共享 charts 的地方。 Release :运行在 Kubernetes 集群中的 chart 的实例,一个 chart 通常可以在同一个集群中安装多次,每一次安装都会创建一个新的 release。
530 1
【kubernetes】新版helm3的三大概念+快速指南+自定义charts模板
在K8S中,helm是什么?如何使用?
在K8S中,helm是什么?如何使用?
helm chart编写入门
helm chart编写入门
2043 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等