跨多个项目共享GitLab Kubernetes Agent

qacovj5a  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(110)

this issue的帮助下,我们部署并使用了GitLab Kubernetes Agents。
现在,当我们有一个项目时,假设gitlab.com/projectone/firstrepo,我们有一个文件夹.gitlab/agents/some-first-agent/config.yml,其中包含内容:

gitops:
  manifest_projects:
    - id: projectone/firstrepo
      ref:
        branch: main
      default_namespace: the-namespace
      paths:
        - glob: 'manifest.yml'

我们转到“Operate”选项卡,然后单击“Kubernetes Cluster”,然后单击“Connect a cluster(Agent)",这工作正常,很高兴。
现在我们也有gitlab.com/projecttwo/secondrepogitlab.com/projectthree/thirdrepo一直到gitlab.com/projectsixty/sixtiethrepo,每个都有自己的.gitlab/agents/some-X-agent/config.yml
虽然工作正常,但我们很快就被Kubernetes集群中的GitLab Kubernetes Agent Pod数量所淹没。
是否有方法在项目之间重用和共享GitLab Kubernetes代理?怎么做?
我试过:

gitops:
  manifest_projects:
    - id: projectone/firstrepo
      ref:
        branch: main
      default_namespace: the-namespace
      paths:
        - glob: 'manifest.yml'
    - id: projecttwo/secondrepo
      ref:
        branch: main
      default_namespace: the-namespace
      paths:
        - glob: 'manifest.yml'
[...]
    - id: projectsixty/sixtyrepo
      ref:
        branch: main
      default_namespace: the-namespace
      paths:
        - glob: 'manifest.yml'

但是,这是行不通的。

zlhcx6iw

zlhcx6iw1#

项目必须具有相同的根组:

  • 用于CI/CD pileline的配置:https://docs.gitlab.com/ee/user/clusters/agent/ci_cd_workflow.html#authorize-the-agent-to-access-your-projects
  • 配置用于gitops(已弃用):https://docs.gitlab.com/ee/user/clusters/agent/gitops/agent.html#gitops-configuration-reference

在最初的版本中,清单项目必须共享一个公共根组,并且清单项目必须是公共的。
Gitlab对manage manifest projects outside of the Agent configuration project做了一些工作,但后来决定使用flux

相关问题