从GKE上的pod访问GCP Cloud DNS

时间:2016-09-27 09:13:59

标签: kubernetes google-cloud-platform google-kubernetes-engine lets-encrypt google-cloud-dns

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

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

1 个答案:

答案 0 :(得分:6)

Google Cloud DNS API的changes.create call要求https://www.googleapis.com/auth/ndev.clouddns.readwritehttps://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中,单击“更多” “,并将必要的范围设置为”已启用“。