Amazon web services 如何从同一VPC内的另一个群集访问部署在专用群集上的vault
我完全迷路了,我需要一些明确的指导 我在一个VPC中的aws上创建了2个kubernetes群集。每个集群都有自己的子网 第一个群集“MI”专用于需要vault机密的微服务和应用程序 第二个“VA”专用于领事/保险库 显然,这个想法是让“MI”集群与“VA”集群中的vault通信。在每个micro服务的init容器中,我会得到一个如下的vault令牌:Amazon web services 如何从同一VPC内的另一个群集访问部署在专用群集上的vault,amazon-web-services,kubernetes,hashicorp-vault,Amazon Web Services,Kubernetes,Hashicorp Vault,我完全迷路了,我需要一些明确的指导 我在一个VPC中的aws上创建了2个kubernetes群集。每个集群都有自己的子网 第一个群集“MI”专用于需要vault机密的微服务和应用程序 第二个“VA”专用于领事/保险库 显然,这个想法是让“MI”集群与“VA”集群中的vault通信。在每个micro服务的init容器中,我会得到一个如下的vault令牌: $(curl -sS --request POST $VAULT_ADDRESS/v1/auth/kubernetes/login -H "Co
$(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服务器,但实际上可以直接访问每个Vault服务器
Vault节点。在这种情况下,应实际设置Vault服务器
如上文所述,由于出于重定向目的
客户端可以直接访问
在我的情况下,请记住,vault节点位于VPC后面,我想这一段不适用于我,因为我无法直接访问这些地址
然后它说:
但是,如果对Vault服务器的唯一访问是通过加载
平衡器,每个节点上的api_addr应该相同:的地址
负载平衡器。到达备用节点的客户端将被删除
重定向回负载平衡器;在这一点上,希望负载
平衡器的配置将已更新,以了解
现任领导人。这可能会导致重定向循环,因此不是
可以避免的建议设置
我想我是在这种情况下,因为我的vault实例只能通过ELB使用,对吗?
为了使这项工作顺利进行,我明白我必须
api_addr = "https://$(LOAD_BALANCER_ADDR):8200"
有没有办法修复重定向循环
我已经看到使用ELB的配置也为它设置了全局ip。
我不明白为什么静态ip很重要?DNS还不够吗
在AWS上,您无法为LB创建全局ip,但由于kubernetes 1.9,您可以使用具有静态ip的网络LB
那么你会推荐经典LB还是最新的NLB?这是一大堆问题,但没有说明你已经尝试过什么;我个人在TCP模式下为vault使用ELB,vault实例知道它们的和
集群地址作为其ELB的DNS名称;备用vault实例在处于备用模式时会响应HTTP 429,这意味着您可以将它们添加到ELB,并且它们在激活之前不会接收流量K8S群集VA中有多少个vault服务器?如果你只有一个集群,那么ELB将不会是一个问题;我个人在TCP模式下为vault使用ELB,vault实例知道它们的和集群地址作为其ELB的DNS名称;备用vault实例在处于备用模式时会响应HTTP 429,这意味着您可以将它们添加到ELB,并且它们在激活之前不会接收流量K8S群集VA中有多少个vault服务器?如果您只有一个集群,那么ELB将不会是一个问题。