是否可以在RDS中使用Harbor Helm?
原始安装的Harbor不使用Helm Charts和Kubernetes,涉及一个Harbor.yml,它需要设置4个数据库:Harbor Core,Clair,Notary Server和Notary Signer。
有人告诉我,使用Harbor Helm需要设置和管理这些数据库。因此,当使用将Harbour安装在Kubernetes集群中的Harbor Helm时,我们仍然需要设置和配置这4个数据库吗?如果是这样,应该使用RDS吗?
是的,您知道的,我们正在通过RDS使用Postgres,而RDS是通过terraform部署的。然后我通过Kustomize更新了Harbor Helm Chart,以注入initContainer。
然后,initContainer执行以下脚本,该脚本将传递给4个数据库名称注册表,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
有点臭,如果没有像CockroachDB那样存在,Postgres就没有CREATE DATABASE。