0

是否可以将 Harbor Helm 与 RDS 一起使用?

最初的 Harbor 安装,没有使用 Helm Charts 和 Kubernetes,涉及一个 Harbor.yml,需要设置 4 个数据库:Harbor Core、Clair、Notary Server 和 Notary Signer。

有人告诉我,使用 Harbor Helm 需要设置和管理这些数据库。所以在使用Harbor Helm,即在Kubernetes集群中安装Harbor时,我们还需要设置和配置这4个数据库吗?如果是这样,是否应该使用RDS?

4

1 回答 1

0

是的,你这样做了,我们通过 RDS 使用 Postgres,它是通过 terraform 部署的。然后我通过 Kustomize 更新了 Harbor Helm Chart 以注入一个 initContainer。

initContainer 然后执行以下脚本,该脚本传递了 4 个数据库名称 registry、clair、notary_signer、notary_server

 #!/bin/bash
echo "Creating Databases: $@"
for var in "$@"
do
  select="SELECT 1 FROM pg_database WHERE datname = '$var'"
  create="CREATE DATABASE $var;"
  echo "psql -h <%=database.external.host%> -U postgres -tc \"$select\""
  psql -h <%=database.external.host%> -U postgres -tc "select 1 from pg_database where datname = '$var';" | grep -q 1 || psql -h <%=database.external.host%> -U postgres -tc "$create"
done

Postgres 没有像 CockroachDB 那样的 CREATE DATABASE IF NOT EXISTS 有点臭。

于 2020-02-12T12:31:06.027 回答