【问题标题】:Using Harbor Helm with RDS?将 Harbor Helm 与 RDS 一起使用?
【发布时间】:2020-01-31 18:26:16
【问题描述】:
是否可以将 Harbor Helm 与 RDS 一起使用?
Harbor 的原始安装,没有使用 Helm Charts 和 Kubernetes,涉及一个 Harbor.yml,需要设置 4 个数据库:Harbor Core、Clair、Notary Server 和 Notary Signer。
有人告诉我,使用 Harbor Helm 需要设置和管理这些数据库。因此,在使用 Harbor Helm 时,将 Harbor 安装在 Kubernetes 集群中,我们还需要设置和配置这 4 个数据库吗?如果是这样,是否应该使用RDS?
【问题讨论】:
标签:
amazon-web-services
amazon-rds
kubernetes-helm
harbor
【解决方案1】:
是的,你这样做了,我们通过 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 有点臭。