要在GKE上访问私有服务,我使用如下命令创建了一个到GKE节点之一的静态路由:
gcloud compute routes create vpn-to-gke-services --destination-range 10.x.x.x/20 --network mynetwork --next-hop-instance europe-west1-d/gke-instance-1
在该实例启动并运行时,此工作正常,但它无法像升级或降级群集等生存。如何以面向未来的方式解决这个问题?
我想到的一个选项是在节点启动时创建路由。如果我这样做会有副作用吗?
答案 0 :(得分:0)
解决此问题最具弹性的方法是编写在集群内运行的简单控制器pod,并验证始终至少存在N条此类路由。 N可以是1(与您现在一样)或者您可以将其设置为更大的数字以实现冗余(如果您创建具有相同cidr范围和不同下一跳实例的多个GCE路由,它们将在自动之间旋转)。
控制器将监视集群中的节点并协调服务CIDR与节点的路由。然后,当节点来去(通过升级或缩放)时,您可以确保路由自动保持最新。