我很迷茫,我需要一些明确的指导。
我已经在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?