部署管理器Cloud SQL

时间:2018-01-30 04:05:59

标签: jinja2 google-cloud-sql google-deployment-manager

我正在尝试使用Deployment Manager创建具有故障转移副本的CloudSQL实例。

我可以创建只读副本但无法创建故障转移副本。

您能否向我提供一份Deployment Manager脚本或建议我更改以下代码:

https://github.com/GoogleCloudPlatform/deploymentmanager-samples/tree/master/examples/v2/sqladmin/jinja

由于

1 个答案:

答案 0 :(得分:1)

Here您有一个关于如何创建具有高可用性的CloudSQL数据库的教程(Master + Failover副本)。

为此,部署管理器并没有真正发挥作用。我将继续介绍如何使用gcloud SDK创建数据库和副本,如果您想使用我在提供的链接上解释的控制台。

使用以下命令从Cloud Shell创建数据库和副本:

gcloud sql instances create [MASTER INSTANCE NAME]  --enable-bin-log --backup-start-time=00:01 --failover-replica-name=[FAILOVER INSTANCE NAME]

检查gcloud sql instances create here.的其余选项您需要为此启用标志--enable-bin-log,并且因为您有二进制日志,所以需要启用备份。 " backup-start-time ="是UTC时间。

现在,您面临的主要问题是您要修改该模板以部署主服务器和故障转移副本,但该模板正在部署FIRST GENERATION实例(请参阅" replicationType:SYNCHRONOUS"值),故障转移副本仅限于SECOND GENERATION实例。

您要完成的API请求将是这样的:

{
 "name": "master-db",
 "settings": {
  "tier": "db-n1-standard-1",
  "backupConfiguration": {
   "binaryLogEnabled": true,
   "startTime": "00:01",
   "enabled": true
  }
 },
 "failoverReplica": {
  "name": "failover-db"
 }
}

检查sqladmin API explorer page以便轻松探索不同的可能值。之后将调用转换为jinja模板应该很容易。