从Cloud Compute实例连接到Kubernetes服务

时间:2016-08-11 06:32:33

标签: google-compute-engine kubernetes service-discovery

我们正在将所有服务转移到托管在Google容器引擎上的Docker。与此同时,我们在docker中有一些服务而有些服务没有。

在Kubernetes中,服务发现很容易通过DNS,但如何从容器集群外部解析服务?即,如何从Google Compute Engine实例连接到在Kubernetes中运行的服务?

1 个答案:

答案 0 :(得分:1)

我现在的解决方案是使用服务clusterIP地址。

您可以通过执行$ gcloud container clusters describe CLUSTER NAME --zone ZONE来查看此IP地址。此IP地址默认不是静态的,但您可以在定义服务时分配它。

来自文档:

  

您可以将自己的群集IP地址指定为服务创建请求的一部分。为此,请设置spec.clusterIP

通过IP地址而不是DNS名称在群集外部访问服务。

更新

部署另一个群集后,上述解决方案无效。事实证明,无法达到新的IP范围,并且您确实需要添加网络路由。

您可以通过运行获取群集IP范围 clusterIpv4Cidr

在输出中,ip范围显示为键10.32.0.0/14,在我的情况下为$ gcloud compute routes create --destination-range 10.32.0.0/14 --next-hop-instance NODE0 INSTANCE NAME

然后为该ip范围创建指向群集中某个节点的路由。 manage_pages