如何从同一VPC内的另一个群集访问部署在专用群集上的保管库

时间:2019-05-21 19:12:00

标签: amazon-web-services kubernetes hashicorp-vault

我很迷茫,我需要一些明确的指导。

我已经在VPC的AWS上创建了2个kubernetes集群。每个群集都有自己的子网。

第一个集群“ MI”专用于需要保险库秘密的微服务和应用程序

第二个“ VA”专用于领事/保险库。

很明显,这个想法是使“ MI”集群与“ VA”集群中的库进行对话。在每个微服务的init容器中,我将获得一个像这样的保管库令牌:

$(curl -sS --request POST $VAULT_ADDRESS/v1/auth/kubernetes/login -H "Content-Type: application/json" -d '{"role":"$VAULT_POLICY","jwt":"$JWT"}' --insecure | jq -r 'if .errors then . else .auth.client_token end')

要实现这一目标,即使不建议这样做,我也需要一个负载均衡器,因为群集节点无法访问,它们只有专用IP ...对吗?

在这件事上,文档说:

  

有时客户端使用负载均衡器作为访问的初始方法   其中一台保管箱服务器,但实际上可以直接访问每个   保管库节点。在这种情况下,实际上应设置Vault服务器   如上一节所述,因为出于重定向目的,   客户可以直接访问。

就我而言,保管库节点位于VPC后面,我想该段不适用于我,因为我无法直接到达这些地址。

然后它说:

  

但是,如果仅通过负载访问Vault服务器,   平衡器,每个节点上的api_addr应该相同:   负载均衡器。到达备用节点的客户端将是   重定向回负载平衡器;希望在那时   平衡器的配置将被更新,以了解其地址   现任领导人。这可能会导致重定向循环,因此不会   可以避免的建议设置。

我想我处于这种情况,因为我的保管库实例只能通过ELB来访问,对吗? 要完成这项工作,我知道我必须设置

api_addr = "https://$(LOAD_BALANCER_ADDR):8200"

有什么办法可以解决重定向循环?

我已经看到使用ELB的配置也为其设置了全局ip。 我不明白为什么静态IP很重要? DNS还不够吗?

在AWS上不能为LB创建全局ip,但是由于kubernetes 1.9可以使用具有静态IP的网络LB?

那么您会推荐经典LB还是最新的NLB?

0 个答案:

没有答案