我正在调查这个letsencrypt控制器(https://github.com/tazjin/kubernetes-letsencrypt)。
它要求pod有权更改Cloud DNS中的记录。我认为在GKE上运行的pod我会使用默认服务帐户进行访问,但请求失败。我需要做些什么才能让pod访问Cloud DNS?
答案 0 :(得分:6)
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
或者,您可以创建一个包含所需范围的全新群集,方法是将--scopes
标记传递给gcloud container clusters create
,或者在云端控制台的New Cluster dialog中,单击“更多” “,并将必要的范围设置为”已启用“。