如何在来自不同Kubernetes集群的实例之间进行通信?

时间:2019-02-07 19:52:39

标签: kubernetes

我在群集A中有一个实例,在群集B中有另一个实例。群集A中的实例不会更改其IP,但是B中的实例(想要访问A中的实例)可能会进行IP更改。因此,如何在不添加群集B中实例IP地址的情况下允许访问群集A中的实例,因为这不是一种可靠的方法:每当我重新启动B中的实例时,我都将不得不再次添加IP。 VPC对等是一种理想的方式吗?如何执行VPC对等?

1 个答案:

答案 0 :(得分:0)

假设您在群集A中具有Pod A,在群集B中具有Pod B,并且您想从Pod A访问PodB。在这种情况下,您有一个从群集B外部到群集B的请求,因此,首先您必须为Pod B提供Kubernetes服务,其次,您必须公开它。

如上所述,重新启动Pod后,您将面临动态IP更改的问题。因此,首先请确保为您的Pod创建一个Kubernetes服务资源,该资源将获得其自己的静态IP /集群内部DNS条目,当您的Pod重新启动时,该条目将保持不变。但是,您还必须公开此服务,以便能够从群集B的外部对其进行访问。有几种方法可以实现此目的:

  1. 使用Kubernetes Ingress并通过虚拟主机或url路径路由到 你的豆荚
  2. 对Pod B使用类型为Load Balancer的Kubernetes服务。通过预配置的Load Balancer的DNS条目访问PodB。请注意,这只能在公共云提供商内部实现。
  3. 对Pod B使用类型为Node Port的Kubernetes服务。通过将请求发送到任何Kubernetes Nodes来访问Pod,并使用暴露的端口。