0

我正在尝试使用部署管理器创建具有故障转移副本的 CloudSQL 实例。

我能够创建只读副本,但无法创建故障转移副本。

您能否向我提供一个部署管理器脚本或建议我对以下代码进行更改:

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

谢谢

4

1 回答 1

1

在这里,您有一个关于如何创建具有高可用性(主 + 故障转移副本)的 CloudSQL 数据库的教程。

为此,部署管理器并没有真正发挥作用。我将继续介绍如何使用 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的其余选项。您需要为此启用标志 --enable-bin-log,并且由于您有二进制日志,因此您需要启用备份。“backup-start-time=”是 UTC 时间。

现在,您面临的主要问题是您想要修改该模板以部署主副本和故障转移副本,但该模板正在部署 FIRST GENERATION 实例(请参阅“replicationType:SYNCHRONOUS”值),并且故障转移副本受到限制到第二代实例。

您尝试完成的 API 请求将如下所示:

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

检查sqladmin API 资源管理器页面以轻松探索不同的可能值。之后将调用转换为 jinja 模板应该很容易。

于 2018-02-06T16:02:03.873 回答