我在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是多少?
答案 0 :(得分:0)
Vault VPC的NAT网关的EIP必须添加到ELB的安全组中,以允许通信。