我打算在一种设置中使用Jenkins Kubernetes plugin,其中将现有的具有虚拟机上的主服务器和从服务器的Jenkins安装程序拆分为当前设置中剩余的主服务器,并由Google Kubernetes Engine(GKE)动态设置从服务器。 )。
我的目标是降低可将奴隶自动缩减到最低限度的时间的成本,并通过同时配置大量代理来提供恒定的构建速度。我之所以选择这种方法,是因为它需要最少的精力。
Afaik我需要转发JNLP的端口8080和50000。这是潜在的安全风险,因为JNLP不受任何形式的加密保护,并且Jenkins和凭据的凭据可能会被拦截,并且在主服务器上运行任意命令。
有启用Slave to master access control的选项,但据我了解,这并不是防止凭据被拦截的保护。
是否可以在GKE内创建IP或其他隧道?主节点的IP是不可预测的,维护正确的隧道目标(可能终止并重新创建的节点池)似乎有很多开销。
我知道,将Jenkins大师也转移到Kubernetes,并通过动态地在k8s包含的奇妙世界中提供代理来实现魔力,这可能不是火箭科学。但是,我需要将其移到那里,并且我不想浪费时间只是为了更好地研究解决方案,如果更简单的方法也能胜任。
答案 0 :(得分:1)
您可以使用Google Cloud VPN服务建立从您的VM到GKE中资源的安全连接。 documentation可以找到官方文档和第三方提供的Here实际使用示例。
答案 1 :(得分:1)
JNLP版本4(默认情况下在端口50000上)已加密,并允许资源安全地进出Google Cloud服务。协议版本可以在Jenkins中执行。