通过开放VPN从另一个集群的Pod的容器中卷曲到API集群中

时间:2019-06-10 22:17:22

标签: amazon-ec2 kubernetes devops

我在VPC上的AWS上创建了2个kubernetes集群。

1)专用于微服务(MI)的集群 2)专门用于领事/保险柜的集群(保险柜) 因此,基本上,这两个集群都可以通过公开k8s API的独特经典公共负载均衡器来实现。

MI:https://api.k8s.domain.com 保险柜:https://api.vault.domain.com

我还在两个集群上都设置了openvpn,因此您需要登录vpn以“ curl”或“ kubectl”进入集群。 为此,我只是在ELB的安全组中添加了一条新规则,其中VPN的IP位于端口443:

HTTPS 443 VPN的IP / 32

在这一点上,所有方法都可以正常工作,这意味着我能够在两个群集中成功“ kubectl”。

我接下来要做的就是能够将Pod容器中的Vault群集中的Pod容器卷入MI群集中。基本上:

Vault群集--------> curl https://api.k8s.domain.com --header“授权:承载$ TOKEN” --------> MI群集

问题在于,目前群集仅允许来自VPN IP的流量。

为解决这个问题,我在MI群集的负载平衡器的安全组中添加了新规则。

这些新规则允许来自每个保管库的节点专用和主实例IP的流量。 但是由于某种原因,它不起作用!

请注意,在向ELB的安全组中添加限制之前,我已经确保通信可在两个群集中正常进行,并允许所有流量(0.0.0.0/0)

所以问题是,当我在pod的容器中执行命令curl到同一VPC中的另一个群集api时,要添加到安全组的容器的IP是多少?

1 个答案:

答案 0 :(得分:0)

Vault VPC的NAT网关的EIP必须添加到ELB的安全组中,以允许通信。