从GKE上的pod访问GCP Cloud DNS

And*_*ume 5 google-cloud-platform google-cloud-dns kubernetes google-kubernetes-engine lets-encrypt

我正在调查这个letsencrypt控制器(https://github.com/tazjin/kubernetes-letsencrypt).

它要求pod有权更改Cloud DNS中的记录.我认为在GKE上运行的pod我会使用默认服务帐户进行访问,但请求失败.我需要做什么才能让pod访问Cloud DNS?

CJ *_*len 6

Google Cloud DNS API的changes.create调用需要https://www.googleapis.com/auth/ndev.clouddns.readwrite或者https://www.googleapis.com/auth/cloud-platform范围,在GKE集群上默认情况下都不启用.

您可以通过运行以下命令将新节点池添加到具有DNS范围的群集:

gcloud container node-pools create np1 --cluster my-cluster --scopes https://www.googleapis.com/auth/ndev.clouddns.readwrite
Run Code Online (Sandbox Code Playgroud)

或者,您可以创建一个包含所需范围的全新集群,方法是将--scopes标记传递给gcloud container clusters create,或者在云控制台的" 新建群集"对话框中,单击"更多",然后将必要的范围设置为"已启用".