我通过查看这个网站安装了契约代理,并且还在Kubernetes中使用这个网站安装了Postgres。我已将 Postgres 服务更改为 ClusterIP,并将数据库连接字符串添加为机密。
apiVersion: v1
kind: Secret
metadata:
name: pact-broker-secret
namespace: pact
type: Opaque
data:
# Encode in base64 the database URL string, I.e: postgres://pact:pact@postgres-svc/pact
PACT_BROKER_DATABASE_URL: <REPLACE-WITH-YOUR-DB-CONNECTION-STR>
但是契约经纪人崩溃并给出这个错误
! Unable to load application: URI::InvalidURIError: bad URI(is not URI?): "postgres://pact:pact@postgres-svc/pact\n"
bundler: failed to load command: puma (/pact_broker/vendor/bundle/ruby/2.7.0/bin/puma) │
│ URI::InvalidURIError: bad URI(is not URI?): "postgres://pact:pact@postgres-svc/pact\n"
kubectl get svc -n pact
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
postgres-svc ClusterIP 10.240.71.100 <none> 5432/TCP 3h8m
我 base64 编码了 Postgres 的服务名称,即“postgres-svc.pact.svc”,并在 k8s secret 中添加为 PACT_BROKER_DATABASE_URL