仅具有内部网络的VM上的GitLab Runner

时间:2019-12-20 09:12:15

标签: kubernetes google-cloud-platform gitlab google-kubernetes-engine gitlab-ci-runner

我正在从Google Cloud中GKE集群上的官方jetstack掌舵图中运行GitLab实例。

我想将Windows VM添加到仅具有内部网络访问权限的VPC网络中。

通常,您必须在GitLab的https地址上注册GitLab运行程序,这对于内部网络是不可能的。是否可以通过内部网络针对GitLab实例注册GitLab运行程序?

GitLab实例通过nginx-ingress控制器发布其https资源,该控制器也在该GKE集群上运行。

是否有一种方法可以通过其内部IP(在端口8080上监听)向gitlab-unicorn pod进行注册?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的gitlab可从内部网络访问,则可以使用clone_url选项

请参见documentation

  

clone_url的工作方式

     

如果GitLab实例暴露给跑步者无法使用的URL,则可以配置clone_url。例如; GitLab暴露于https://gitlab.example.com,但是由于防火墙设置,跑步者无法达到。如果跑步者可以到达192.168.1.23上的节点,则应将clone_url设置为"http://192.168.1.23

     

只有设置了clone_url,跑步者才会以http://gitlab-ci-token:s3cr3tt0k3n@192.168.1.23/namespace/project.git的形式构造一个克隆URL

如果您的Gitlab实例没有任何可用地址,则可以为其设置ssh-tunnel

  

SSH Tunneling是一种通过加密的SSH连接传输任意网络数据的方法。它可用于向旧版应用程序添加加密。它也可以用于实现VPN(虚拟专用网络)和跨防火墙访问内部网服务。

ssh -L 8080:gitlab.yourinstance.com:80 gw.yourgateway.com

然后您可以将gw.yourgateway.com:8080用作您的clone_url