1. Helm Chart 仓库

本节介绍如何创建和使用 Chart 仓库。在高层级中,Chart 仓库是打包的 Chart 存储和分享的位置。

社区的 Helm Chart 仓库位于 Artifact Hub,欢迎加入。 不过 Helm 也可以创建并运行你自己的 Chart仓 库。该指南将介绍如何操作。

[!NOTE|style:flat] 从 Helm 2.2.0 开始,客户端支持对仓库进行 SSL 身份认证。其他身份验证协议可以通过插件提供。

由于 Chart 仓库可以是任何服务于 YAML 和 tar 文件并响应 GET 请求的 HTTP 服务器,托管你自己的 Chart 仓库时就有很多选择。比如可以使用 Google Cloud Storage(GCS), Amazon S3,GitHub 页面,甚至创建自己的 Web 服务器。

1.1. Chart 仓库结构

Chart 仓库是一个配置了 index.yaml 文件和一些已经打包 Chart 的 HTTP 服务器。当你准备好分享 Chart 时,最好的方法是将 Chart 上传到 Chart 仓库。

Chart 仓库由 Chart 包和包含了仓库中所有 Chart 索引的特殊文件 index.yaml。

通常描述 Chart 的 index.yaml 也托管在同一个服务器上作为来源文件。

比如,https://example.com/charts 仓库布局可能看起来像这样:

charts/
  |
  |- index.yaml
  |
  |- alpine-0.1.2.tgz
  |
  |- alpine-0.1.2.tgz.prov

在这个案例中,index 文件包含了 Alpine 这一个 Chart 的信息,并提供了下载地址:

index.yaml 文件不是必须和 Chart 包放在同一个服务器上,但是这样是最方便的。

1.2. index文件

index.yaml 文件是一个 yaml 格式的文件。包含了一些包的元信息,包括 Chart 中 Chart.yaml 文件的内容。 一个合法的 Chart 仓库必须有一个 index 文件,包含了 Chart 仓库中每一个 Chart 的信息。 helm repo index 命令会基于给定的包含 Chart 包的本地目录生成一个 index 文件。

index文件类似于这样:

apiVersion: v1
entries:
  alpine:
    - created: 2016-10-06T16:23:20.499814565-06:00
      description: Deploy a basic Alpine Linux pod
      digest: 99c76e403d752c84ead610644d4b1c2f2b453a74b921f422b9dcb8a7c8b559cd
      home: https://helm.sh/helm
      name: alpine
      sources:
      - https://github.com/helm/helm
      urls:
      - https://technosophos.github.io/tscharts/alpine-0.2.0.tgz
      version: 0.2.0
    - created: 2016-10-06T16:23:20.499543808-06:00
      description: Deploy a basic Alpine Linux pod
      digest: 515c58e5f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cd78727
      home: https://helm.sh/helm
      name: alpine
      sources:
      - https://github.com/helm/helm
      urls:
      - https://technosophos.github.io/tscharts/alpine-0.1.0.tgz
      version: 0.1.0
  nginx:
    - created: 2016-10-06T16:23:20.499543808-06:00
      description: Create a basic nginx HTTP server
      digest: aaff4545f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cdffffff
      home: https://helm.sh/helm
      name: nginx
      sources:
      - https://github.com/helm/charts
      urls:
      - https://technosophos.github.io/tscharts/nginx-1.1.0.tgz
      version: 1.1.0
generated: 2016-10-06T16:23:20.499029981-06:00
Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2022-01-08 03:09:47

results matching ""

    No results matching ""