首页 > 解决方案 > Google Cloud Build 部署到 GKE 私有集群

问题描述

我正在运行带有“私有集群”选项的 Google Kubernetes Engine。我还定义了“授权主网络”以能够远程访问环境 - 这很好用。现在我想使用 Google Cloud Build 设置某种 CI/CD 管道 - 在成功构建新的 docker 镜像后,这个新镜像应该会自动部署到 GKE。当我第一次启动新管道时,部署到 GKE 失败 - 错误消息类似于:“无法连接到服务器:dial tcp xxx.xxx.xxx.xxx:443: i/o timeout”。由于我怀疑“授权主网络”选项是连接超时的根本原因,因此我添加了 0.0.0. 0/0 到允许的网络并再次启动 Cloud Build 作业 - 这次一切顺利,在创建 docker 映像后将其部署到 GKE。好的。

剩下的唯一问题是我真的不想让整个互联网都能够访问我的 Kubernetes 主服务器——这是个坏主意,不是吗?

是否有更优雅的解决方案可以通过使用允许的主网络并能够通过云构建进行部署来缩小访问范围?

标签: kubernetesgoogle-kubernetes-enginegoogle-cloud-build

解决方案


目前无法将 Cloud Build 机器添加到 VPC。同样,Cloud Build 不会公布构建机器的 IP 范围。因此,如果不在该 VPC 内的 GCE 上创建“ssh 堡垒实例”或“代理实例”,您今天就无法做到这一点。

我怀疑这很快就会改变。GCB 在 GKE 私有集群之前就已经存在,并且私有集群仍然是一个 beta 特性。


推荐阅读