创建私有 Helm 仓库并托管在 GitHub

497 阅读2分钟

创建私有 Helm 仓库并托管在 GitHub

本教程将指导你如何使用 GitHub 创建一个私有的 Helm 仓库,并通过 GitHub Pages 托管该仓库。

前提条件

  • 已安装 Git 和 Helm。
  • 拥有一个 GitHub 账户。

步骤

1. 创建 GitHub 仓库

  1. 登录 GitHub。
  2. 创建一个新的仓库,命名为 my-helm-charts-repo,并设置为私有。

2. 本地设置仓库

  1. 克隆刚创建的 GitHub 仓库到本地:

    git clone https://github.com/<your-username>/my-helm-charts-repo.git
    cd my-helm-charts-repo
    

3. 创建 gh-pages 分支

  1. 创建并切换到 gh-pages 分支:

    git checkout --orphan gh-pages
    
  2. 清空该分支:

    git rm -rf .
    

4. 创建并打包 Helm Charts

  1. 在本地创建一个 Helm Chart(如果已有则跳过):

    helm create mychart
    
  2. 打包 Helm Chart:

    helm package mychart
    

    这会生成一个 mychart-<version>.tgz 文件。

5. 更新仓库索引并推送 Charts

  1. 生成或更新 index.yaml 文件:

    helm repo index --url https://<your-username>.github.io/my-helm-charts-repo .
    
  2. 将打包的 Chart 文件和更新的 index.yaml 文件添加到仓库:

    mv mychart-<version>.tgz docs/
    mv index.yaml docs/
    git add docs/
    git commit -m "Add mychart to Helm repository"
    git push origin gh-pages
    

6. 配置 GitHub Pages

  1. 在 GitHub 仓库的设置中,找到 GitHub Pages 部分。
  2. 将 GitHub Pages 的源设置为 gh-pages 分支。

7. 使用你的 Helm 仓库

  1. 添加 Helm 仓库:

    helm repo add myrepo https://<your-username>.github.io/my-helm-charts-repo
    
  2. 更新 Helm 仓库:

    helm repo update
    
  3. 搜索 Helm 仓库中的 Charts:

    helm search repo myrepo
    

8. 安装 Helm Chart

使用以下命令从你的私有 Helm 仓库中安装 Chart:

helm install myrelease myrepo/mychart

注意事项

  • 私有仓库访问控制:由于 GitHub Pages 不支持私有仓库的公开访问,建议使用GitHub Personal Access Token或其他身份验证方式来控制对私有仓库的访问。

  • 定期更新索引:每次添加或更新 Chart 后,都需要重新生成 index.yaml 并推送到 gh-pages 分支。

通过上述步骤,你可以成功创建一个私有的 Helm 仓库,并通过 GitHub Pages 提供访问。需要注意的是,私有仓库的访问权限管理需要额外配置。