从 GKE 上的 pods 访问 GCP Cloud DNS
Access GCP Cloud DNS from pods on GKE
我正在研究这个 letsencrypt 控制器 (https://github.com/tazjin/kubernetes-letsencrypt)。
它需要 pods 有权更改 Cloud DNS 中的记录。我想在 GKE 上使用 pods 运行 我可以使用默认服务帐户获得该访问权限,但请求失败了。我需要做什么才能允许 pods 访问 Cloud DNS?
Google Cloud DNS API 的 changes.create call 需要 https://www.googleapis.com/auth/ndev.clouddns.readwrite
或 https://www.googleapis.com/auth/cloud-platform
范围,默认情况下两者都未启用GKE 集群。
您可以通过 运行 将新的 Node Pool 添加到具有 DNS 作用域的集群:
gcloud container node-pools create np1 --cluster my-cluster --scopes https://www.googleapis.com/auth/ndev.clouddns.readwrite
或者,您可以创建一个具有所需范围的全新集群,方法是在 Cloud Console 中将 --scopes
标志传递给 gcloud container clusters create
, or in the New Cluster dialog,然后单击 "More",然后设置"Enabled".
的必要范围
我正在研究这个 letsencrypt 控制器 (https://github.com/tazjin/kubernetes-letsencrypt)。
它需要 pods 有权更改 Cloud DNS 中的记录。我想在 GKE 上使用 pods 运行 我可以使用默认服务帐户获得该访问权限,但请求失败了。我需要做什么才能允许 pods 访问 Cloud DNS?
Google Cloud DNS API 的 changes.create call 需要 https://www.googleapis.com/auth/ndev.clouddns.readwrite
或 https://www.googleapis.com/auth/cloud-platform
范围,默认情况下两者都未启用GKE 集群。
您可以通过 运行 将新的 Node Pool 添加到具有 DNS 作用域的集群:
gcloud container node-pools create np1 --cluster my-cluster --scopes https://www.googleapis.com/auth/ndev.clouddns.readwrite
或者,您可以创建一个具有所需范围的全新集群,方法是在 Cloud Console 中将 --scopes
标志传递给 gcloud container clusters create
, or in the New Cluster dialog,然后单击 "More",然后设置"Enabled".