3
  1. 这甚至可以用 helm 实现吗?
  2. 哪些安全选项是可能的(BasicAuth?客户端证书?OAuth2?)
  3. 是否有任何关于此的示例/文档(服务器端和客户端)?
4

3 回答 3

7

Helm Private Repository 使用私有 GitHub 存储库

脚步:

  1. 创建一个名为private-helm-registryor any 的私有 GitHub 存储库。
  2. 放置您的原始 Helm 图表。
  3. 创建一个charts文件夹,并在此文件夹内放置index.yaml并按.tgz格式打包图表。

  4. 创建具有只读访问权限的 GitHub个人访问令牌。

  5. 使用以下命令将您的存储库添加到 helm:

    $ helm repo add helm-registry 'https://<git_hub_personal_access_token>@raw.githubusercontent.com/myGitHubAccountName/private-helm-registry/master/charts/'
    "helm-registry" has been added to your repositories
    

    笔记:

    1. Enclose the Url with single quotes ' '.
    2. The trailing / is mandatory.
    
  6. 要将开发或其他分支添加为 helm 存储库,请使用分支名称:

    $ helm repo add helm-registry-dev 'https://<git_hub_personal_access_token>@raw.githubusercontent.com/myGitHubAccountName/private-helm-registry/<branch>/charts/'
    "helm-registry-dev" has been added to your repositories
    

在以下位置探索更多信息:使用私有 github 存储库作为 helm chart 存储库

于 2017-11-24T12:08:49.943 回答
3

如果你想要一个私有 helm 存储库,至少据我所知,今天没有太多选择。

  • 使用部署存储库的内部网络,因此外部世界无法访问它。
  • 使用 helm 插件或编写自己的插件。

所以基本上没有内置的 helm 私有存储库,但是您可以使用 helm 插件实现所需的功能。

插件示例:

  • GitHub - 用于将 GitHub Pages 用作图表存储库。不是私人仓库,但它显示了一个插件的想法,它非常小而且简单。
  • Keybase - 类似于 GitHub 插件,但将图表存储在 Keybase 中。仍然不是私有的,但可以修改为使用 keybase/private目录。
  • App Registry - 使用应用注册表 (quay.io) 来存储图表。
  • AWS S3 - 提供一种将 Amazon S3 用作 helm 图表的私有存储库的方法。我是这个插件的作者,我写它是因为上面的所有选项都不适合我的目的。
  • Azure Blob Stoage - 此博客文章包含一种将 Azure Blob 存储用作 helm 图表的私有存储库的方法
于 2017-10-06T19:46:41.887 回答
1

我假设您的意思是 Helm Repo,而不是保护 docker 图像。

我的理解是它只是一个基本的网络服务器您可以只使用 GCS 或 S3 并设置 IAM 规则来保护它们吗?

于 2017-07-19T16:25:14.970 回答