更改Google容器引擎群集的权限

Rya*_*der 9 node.js google-cloud-storage google-cloud-sql google-cloud-platform google-kubernetes-engine

我已经能够在开发人员控制台中成功创建Google容器群集,并将我的应用程序部署到它.这一切都很好,但我发现我无法连接到Cloud SQL,我得到;

 "Error: Handshake inactivity timeout"
Run Code Online (Sandbox Code Playgroud)

经过一番挖掘,我从App Engine或本地机器连接到数据库时没有遇到任何问题,所以我觉得这有点奇怪.那时我注意到集群权限......

当我选择我的群集时,我看到以下内容;

  Permissions

User info           Disabled
Compute             Read Write
Storage             Read Only
Task queue          Disabled
BigQuery            Disabled
Cloud SQL           Disabled
Cloud Datastore     Disabled
Cloud Logging       Write Only
Cloud Platform      Disabled
Run Code Online (Sandbox Code Playgroud)

我真的希望在我的容器引擎节点中同时使用云存储和云端SQL.我允许在我的项目设置中访问每个API,我的Cloud SQL实例正在接受来自任何IP的连接(我之前在App Engine上的托管虚拟机中运行过Node),所以我的想法是Google明确禁用这些API.

所以我的两部分问题是;

  • 有什么办法可以修改这些权限吗?
  • 有没有什么理由可以禁用这些API?(我假设一定有)

任何帮助非常感谢!

CJ *_*len 17

随着节点池,可以排序的创造你想要的作用域一个新的节点池(然后删除旧)添加范围来运行的集群:

gcloud container node-pools create np1 --cluster $CLUSTER --scopes $SCOPES
gcloud container node-pools delete default-pool --cluster $CLUSTER
Run Code Online (Sandbox Code Playgroud)


Rob*_*ley 13

权限由群集创建期间附加到节点VM的服务帐户定义(在实例化VM后无法更改服务帐户,因此这是您唯一可以选择权限的时间).

如果您使用云控制台,请单击"创建群集"页面上的"更多"链接,您将看到可以添加到群集中节点的权限列表(所有权限都默认为关闭).切换您想要的任何内容,您应该在创建群集后看到相应的权限.

如果使用命令行创建群集,请传递--scopes命令以gcloud container clusters create在节点VM上设置相应的服务帐户范围.

  • 编辑:截至2017年8月,您可以更新正在运行的实例上的服务帐户范围.请参阅https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#changeserviceaccountandscopes (2认同)