Kubernetes Openshift:吊舱之间的可见性

Kubernetes Openshift:吊舱之间的可见性,kubernetes,openshift,Kubernetes,Openshift,我正在尝试从其他pod访问已部署的postgresql pod pod1内部运行一个简单的postgresql容器。在另一边,在pod2中,我正在运行一个保险库容器 我正在尝试配置vault以添加数据库引擎: vault write database/config/my-postgresql-database \ plugin_name=postgresql-database-plugin \ allowed_roles="my-role" \ connection_ur

我正在尝试从其他pod访问已部署的postgresql pod

pod1内部运行一个简单的postgresql容器。在另一边,在pod2中,我正在运行一个保险库容器

我正在尝试配置vault以添加数据库引擎:

vault write database/config/my-postgresql-database \
    plugin_name=postgresql-database-plugin \
    allowed_roles="my-role" \
    connection_url="postgresql://{{username}}@postgresql:5432/" \
    username="postgres"
但是,我遇到了以下错误:

Error writing data to database/config/my-postgresql-database: Error making API request.

URL: PUT https://vault.ra-sec.svc/v1/database/config/my-postgresql-database
Code: 400. Errors:

* error creating database object: error verifying connection: pq: SSL is not enabled on the server
似乎存在与连接相关的问题


您能为我提供一些解决方法吗?

这就是我在openshift环境中使用PostgreSQL DB设置Vault的方法

为Vault配置config.hcl

为Vault服务器定义配置文件

#config.hcl
disable_mlock = true

storage "postgresql" {
  connection_url = "postgres://vault:vault@postgresql:5432/postgres?sslmode=disable"
}

listener "tcp" {
  address = "0.0.0.0:8200"
  tls_disable = 1
}
其中,postgresql是为postgresql数据库配置的服务名称

启动脚本

使用以下命令运行服务器,将其配置为启动脚本的一部分

vault server -config=/etc/service/vault-server/config.hcl
设置PostgreSQL数据库

您可以使用Openshift提供的PostgreSQL支架周围模板(希望您使用相同的模板)。在postgreSQL POD/container中执行以下命令,以允许从Vault进行连接

CREATE TABLE vault_kv_store (
  parent_path TEXT COLLATE "C" NOT NULL,
  path        TEXT COLLATE "C",
  key         TEXT COLLATE "C",
  value       BYTEA,
  CONSTRAINT pkey PRIMARY KEY (path, key)
);

CREATE INDEX parent_path_idx ON vault_kv_store (parent_path);
为vault设置数据库:

在此之后,请确保为PostgreSQL创建一个服务,以便同一命名空间中的其他POD可以使用Openshift服务名称来发现它们

希望这有帮助!如有遗漏,请告诉我