2017-02-24 61 views
1

我对AWS上的吊舱之间的跨群集通信有问题。AWS与Kubernetes吊舱的跨群集通信

我正在使用kubernetes在AWS上部署集群。两个集群都在同一个地区和AZ。这两个群集都部署在自己的VPC中,并且具有不重叠的子网。我已成功创建VPC对等以建立两个VPC之间的通信。和VPC的Minions(实例)可以通过私有IP相互ping通。

问题是,来自一个群集(VPC)的Kubernetes Pod无法通过其内部IP对另一个群集中的Pod进行ping操作。我看到交通离开荚和奴才,但没有看到其他VPC。

这里是IP信息:

群1(VPC 1) - 子网172.21.0.0/16 爪牙(实例)在VPC 1 - 内部IP - 172.21.0.232 波德上爪牙1 - IP - 10.240 .1.54

群集2(VPC 2) - 子网172.20.0.0/16 爪牙在VPC 2(实例) - 内部IP - 172.20.0.19 波德上爪牙1 - IP - 10.241.2.36

我在两个VPC之间配置了VPC对等,我可以在VPC 1(172.21.0.232)将Minion Ping到Minion 在VPC 2到IP 172.20.0.19

但是,当我尝试在VPC 1,Minion 1-IP 10.240.1.54从VPC 2,Minion Pod 10.241.2.36 ping pod时,它无法ping。

AWS支持这种用例吗?我该如何实现它。我已经在两个实例上配置了安全组,以允许来自源10.0.0.0/8的所有流量,但它没有帮助。

非常感谢您的帮助!

回答

1

与集群外部的pod的直接通信不应该起作用。荚可以通过services暴露于外部。

有一个广泛的选择,但是像下面这样定义一个基本的服务可以通过预定义的端口暴露荚到其他集群:

--- 
kind: Service 
apiVersion: v1 
metadata: 
    name: my-service 
spec: 
    selector: 
    app: MyApp 
    ports: 
    - protocol: TCP 
    port: 80 
    targetPort: 9376 
    nodePort: 34567 

这样,您可以通过访问您的吊舱映射到任何kubernetes节点上的端口34567

除此之外,你还应该考虑检出ingress configurations

除官方文档外,还有一个很好的摘要是Kubernetes Services and Ingress Under X-ray 博客文章。

相关问题