小编Rya*_*der的帖子

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

我已经能够在开发人员控制台中成功创建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?(我假设一定有)

任何帮助非常感谢!

node.js google-cloud-storage google-cloud-sql google-cloud-platform google-kubernetes-engine

9
推荐指数
2
解决办法
6045
查看次数

Google Cloud SQL无响应

我们正在使用Cloud SQL数据库在Google Container Engine上运行Sails.js API,最近我们发现我们的一些端点一直在停滞,从不发送响应.

我有健康检查监测/ v1 /状态,当我得到以下简单的响应时,它注册了100%的正常运行时间;

status: function( req, res ){
    res.ok('Welcome to the API');       
}
Run Code Online (Sandbox Code Playgroud)

一旦我们添加了数据库查询,端点就会开始超时.它不会一直发生,但似乎是随机的,有时持续几个小时.这就是我们将查询更改为;

status: function( req, res ){
    Email.findOne({ value: "someone@example.com" }).then(function( email ){
        res.ok('Welcome to the API');
    }).fail(function(err){
        res.serverError(err);
    });
}
Run Code Online (Sandbox Code Playgroud)

相当可疑的是,这一切在我们的登台和开发环境中运行良好,只有在生产部署代码才会发生超时并且只在某些时间发生.在暂存和生产之间唯一的变化是我们连接的数据库和服务器上的负载.

正如我之前提到的,我们使用的是Google Cloud SQLSails-MySQL适配器.我们从生产服务器有以下错误堆栈;

AdapterError: Invalid connection name specified
at getConnectionObject (/app/node_modules/sails-mysql/lib/adapter.js:1182:35)
at spawnConnection (/app/node_modules/sails-mysql/lib/adapter.js:1097:7)
at Object.module.exports.adapter.find (/app/node_modules/sails-mysql/lib/adapter.js:801:16)
at module.exports.find (/app/node_modules/sails/node_modules/waterline/lib/waterline/adapter/dql.js:120:13)
at module.exports.findOne (/app/node_modules/sails/node_modules/waterline/lib/waterline/adapter/dql.js:163:10)
at _runOperation (/app/node_modules/sails/node_modules/waterline/lib/waterline/query/finders/operations.js:408:29)
at run (/app/node_modules/sails/node_modules/waterline/lib/waterline/query/finders/operations.js:69:8) …
Run Code Online (Sandbox Code Playgroud)

mysql google-cloud-sql google-compute-engine sails.js waterline

5
推荐指数
1
解决办法
408
查看次数