阅读时间: 3 分钟
想象一下,创建一个kubernetes的Helm图表应用,但如果有人想访问你的Helm图表,怎么办?正如你所知,你可以通过使用Helm install来访问或安装Helm repositories上的Helm图表。你必须首先添加该仓库,这样舵手才能知道并执行其操作。通过。为此,你必须将你的Helm图表部署在Helm repo上,对吗。所以在这篇博客中,你会发现我们如何将特定的舵手图托管到一个特定的 repo 上,以便其他想要使用该应用程序的人可以使用舵手命令。
我们可以使用Github页面实现以下目的。
在我们开始之前,如果你想对Helm的工作原理和它的树状结构有一个快速的了解。在参考资料部分提供了博客的链接。所以说了这么多,让我们开始吧。
一个带有Helm图表的git hub repo看起来会是这样的。我们有一个模板文件夹,里面有我们所有的应用程序yaml文件。一个values.yaml文件,包含了所有要以变量形式传递的值。一个chart.yaml文件,当我们试图打包图表时,Helm会寻找这个文件,还有一个.helmignore文件,告诉Helm在构建图表时要忽略哪些文件。请记住。图表应该放在/charts目录下,位于目录树的顶层。
如果我们在模板文件夹上做一个树状图,你会看到里面的所有文件:nginx-deployment.yml,它将用nginx镜像部署我们的pod,nginx-service.yaml包含我们的nodeport服务,_helpers.tpl包含我们部署的模板逻辑。
GitHub页面。
第二步,我们创建一个名为gh-pages的新分支,以便发布图表。对该分支的任何修改都将由图表发布者行动自动创建。我们将在Github Pages中设置这个分支。进入设置,向下滚动到页面部分,选择分支为gh-pages,你会得到如下链接:显示你的网站发布在这个网站。
GitHub Actions 工作流程 :
下一步将包括使用GitHub Actions工作流程。Chart Releaser 动作来自动生成 GitHub 页面图表。做到以下几点:
在主分支中创建一个GitHub Actions Workflow .github/workflows/release.yml,并添加以下配置,如下图所示链接,你可以在这里找到helm.sh/docs/howto/…
这个配置的作用是将我们的 repo 变成自我托管的 Helm Chart repo。每次向主分支推送时,它都会检查图表,如果有新的图表版本,就会创建一个相应的GitHub版本,将Helm图表工件添加到该版本中,并在第一次推送时创建index.yaml,或在之后更新这些版本的元数据,然后将其托管在GitHub PAges。
作为最后一步,让我们推送一些变化,正如你所看到的,index.yml被自动创建,让我们也改变一下图表的版本,看看会发生什么,正如你所看到的,一个新的版本已经被创建。
让我们导航到GitHub行动标签来看看。
你可以看到index.yaml已经创建,并自动更新,在右下角你可以看到新版本的形成。
参考。
链接以了解什么是舵手:harness.io/blog/what-i…
链接到Helm v2:Kubernetes的软件包管理器 :blog.knoldus.com/helm-v2-pac…