Openshift上的保险柜服务器-连接被拒绝

问题描述

我想使用保管库服务器存储机密并将其部署在openshift上。

我编写了这个dockerfile,构建了映像并将其推送到openshift注册表,并从该映像流创建了部署:

FROM vault:1.5.0
ADD *.hcl /etc/config.hcl

ENTRYPOINT ["vault","server","-config=/etc/config.hcl"]

这是配置:

storage "file" {
  path = "/vault/data"
}

listener "tcp" {
  address="127.0.0.1:8200"
  tls_disable=1
}

disable_mlock = true

api_addr = "http://127.0.0.1:8200"

我创建了一个通往8200端口的路由。当我从Vault服务器吊舱中使用Vault CLI时,它可以正常工作,我可以登录,配置等。当我在本地计算机上使用openshift cli将端口8200转发到本地8200端口时,我也可以访问API。

问题是我无法从Pod之外的任何位置访问API。该路由使我收到503响应,并且通过http://vault-server.namepsace.svc:8200尝试时,连接被拒绝(使用Spring Rest模板)。

如何配置保险柜以也接受外部流量?

解决方法

您的listener块表示您仅在侦听来自localhost的连接。将address字段更改为0.0.0.0:8200以在所有接口上侦听:

listener "tcp" {
  address="0.0.0.0:8200"
}

并且请不要忘记在连接正常后立即启用TLS。