首页 文章

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

提问于
浏览
8

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

"Error: Handshake inactivity timeout"

经过一番挖掘,我从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

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

所以我的两部分问题是;

  • 有什么方法可以修改这些权限吗?

  • 有没有什么理由可以禁用这些API? (我假设一定有)

任何帮助非常感谢!

3 回答

  • 17

    对于 cloudsql ,可以从指定代理的容器进行连接,如此处所述https://cloud.google.com/sql/docs/postgres/connect-container-engine

  • 0

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

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

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

  • 13

    使用节点池,您可以通过创建具有所需范围的新节点池(然后删除旧节点池)来将范围添加到正在运行的集群中:

    gcloud container node-pools create np1 --cluster $CLUSTER --scopes $SCOPES
    gcloud container node-pools delete default-pool --cluster $CLUSTER
    

相关问题