我在 Vault 实例的日志中看到这一行:
http/handleRequestForwarding: error forwarding request: error=error during forwarding RPC request
同时,请求转发似乎不起作用,因为当我尝试curl http://vault:8200/v1/secret/foo
时,我得到了307
响应。这是一个问题,因为无法从我的 Kubernetes 集群外部访问各个实例,唯一的方法是使用负载均衡器。
解决方案:使用正确的端口进行cluster_addr
(如果通过环境变量设置,则使用VAULT_CLUSTER_ADDR
端口( - 8201
而不是8200
。
现在我的 Kubernetes Vault 配置看起来像这样:
env:
- name: "POD_IP"
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: "VAULT_API_ADDR"
value: "http://$(POD_IP):8200"
- name: "VAULT_CLUSTER_ADDR"
value: "http://$(POD_IP):8201"