GitLab Runner的工作节点是否需要访问GitLab的网络?

40次阅读
没有评论

问题描述

想了解GitLab Runner的工作节点是否需要访问GitLab的网络。他在阅读文档时发现GitLab Runner具有自动扩展功能,可以根据需要动态生成新的工作节点。文档中提到:“GitLab Runner需要通过网络与您的GitLab实例进行通信”。这对于Runner Manager来说是显而易见的,因为Runner需要下载源代码并将构建结果和构件推送回GitLab。但是,用户想知道这是否也适用于Runner的工作节点?工作节点是直接与GitLab通信还是只与Runner Manager通信,然后由Runner Manager将结果传播到GitLab?
换句话说:在我的私有企业网络中有一个GitLab实例,并使用AWS EC2自动扩展GitLab Runner,我是否需要在我的企业网络和AWS VPC之间建立VPN,或者它是否可以直接使用?

解决方案

请注意以下操作注意版本差异及修改前做好备份。

解决方案

根据实验结果,是的,工作节点需要访问GitLab实例(至少在GitLab Runner 14中是如此)。
Runner Manager只会生成工作节点,通信是直接在工作节点和GitLab实例之间进行的。当工作节点无法访问GitLab时,您可能会看到类似以下的错误消息:

fatal: unable to access 'https://your.gitlab.instance/awesome/project.git/': Could not resolve host: your.gitlab.instance

因此,在您的私有企业网络中有一个GitLab实例,并使用AWS EC2自动扩展GitLab Runner时,您需要确保工作节点能够访问GitLab实例。这可能需要在您的企业网络和AWS VPC之间建立VPN连接,以便工作节点可以直接访问GitLab实例。

正文完