2

我正在尝试让项目 B 中的 cert-manager 自动设置证书,但是为了让 DNS01 挑战为 clusterIssuer 工作,我需要它来访问项目 A 的云 DNS。

我的第一个项目在 Google Cloud 中有两个单独的项目,比如项目 A,我有一个 Cloud DNS 设置,我想从项目 B 访问它。我在项目 A 中创建了一个服务帐户,并在 gcloud 中使用

gcloud auth activate-service-account --key-file=projectA-service-account.json

然后复制服务帐户电子邮件并转到Google Cloud Console中的项目B,进入IAM并选择创建一个新成员,粘贴电子邮件并单击弹出的IAM,添加角色“DNS管理员”。有了这个,我似乎只能访问项目 B 的云 DNS,如果我尝试反向操作,所以我在项目 B 中设置了一个服务帐户,我只能得到

ERROR: (gcloud.dns.record-sets.list) HTTPError 404: The 'parameters.managedZone' resource named 'test-zone' does not exist.

我尝试关注:https ://stackoverflow.com/a/35558464/10516964

有人对我如何从项目 B 访问项目 A 中的云 DNS 有任何想法吗?

编辑:解决了这个问题,我只是使用了错误的密钥文件,请参见下面的答案。

4

1 回答 1

1

我设法解决了这个问题。

它确实有效,我只是没有将正确的密钥文件保存到机密中,因此 clusterIssuer 的凭据错误。当我从项目 A 保存密钥并将密钥放入项目 B 并让 clusterIssuer 使用它时,工作得更好。DNS01 之后立即工作。

于 2019-08-15T07:51:26.920 回答