Google compute engine 具有随机生成的主机名/IP的MySQL NDB群集节点

Google compute engine 具有随机生成的主机名/IP的MySQL NDB群集节点,google-compute-engine,mysql-cluster,Google Compute Engine,Mysql Cluster,在过去的两年中,我一直在测试我们的软件在Google Compute Engine(GCE)中的性能,我们使用的工作虚拟机和MySQL NDB集群虚拟机总共使用了1k vCPU 我已经在模板和实例组的帮助下自动创建了worker VM(运行我们的软件),但是对于MySQL NDB集群,我总是有两台固定的机器,我偶尔会手动调整它们的大小(即更改VCPU和RAM) 我现在正试图为NDB集群提供不同数量的虚拟机,这些虚拟机具有不同数量的VCPU和RAM,我想在我的测试套件中自动化这个过程主要问题是ND

在过去的两年中,我一直在测试我们的软件在Google Compute Engine(GCE)中的性能,我们使用的工作虚拟机和MySQL NDB集群虚拟机总共使用了1k vCPU

我已经在模板和实例组的帮助下自动创建了worker VM(运行我们的软件),但是对于MySQL NDB集群,我总是有两台固定的机器,我偶尔会手动调整它们的大小(即更改VCPU和RAM)

我现在正试图为NDB集群提供不同数量的虚拟机,这些虚拟机具有不同数量的VCPU和RAM,我想在我的测试套件中自动化这个过程主要问题是NDB配置需要配置中的固定主机名。要使用GCE模板和实例组,我只能使用动态命名的实例,如
NDB-1ffrd、NDB-i8fhh、


举个例子,下面是我当前的ndb配置(众多配置之一),它涉及固定虚拟机ndb1和ndb2:

[ndbd]
HostName=ndb1
NodeId=1
NodeGroup=0
[ndbd]
HostName=ndb2
NodeId=2
NodeGroup=0
[ndbd]
HostName=ndb1
NodeId=3
NodeGroup=1
[ndbd]
HostName=ndb2
NodeId=4
NodeGroup=1
我想将固定的虚拟机ndb1/ndb2转换为GCE实例组,在这些实例组中,我可以选择带任意数量的此类实例(通常是2或4个)进行测试,然后销毁虚拟机,并在测试期间以自动方式按需执行此操作。这背后的理由是使用不同配置的VM进行可重复测试。在多个测试中手动更改许多参数会导致一场噩梦,因为在10个测试之前,要弄清楚确切的配置是什么——这样,每个测试都会引用ndb VM的特定实例模板

但是,GCE实例组成员的名称中有一个随机后缀,NDB配置需要固定的主机名或IP。所以我需要:

  • 让GCE从以确定性方式命名的实例组(例如ndb1、ndb2、ndb3等)生成实例,以便我可以在我的ndb配置中依赖这些名称,或者
  • 以某种方式允许任意主机(或具有任意后缀的主机)作为ndb节点连接,但仍要确保同一主机不会多次添加到同一节点组中——这在上面的示例配置中是手动确保的

有什么方法可以实现我想做的吗?

我认为这可以通过使用脚本和gcloud来实现。让我们在GCP中启动资源,还有许多选项/标志可能有助于设置您需要的配置


希望这有帮助。

你好,Adad,欢迎来到StackOverflow。不幸的是,你的回答毫无帮助。考虑更精确地陈述我的目标是如何实现的。例如,说明哪些选项允许我使用固定/确定性命名方案动态调整实例组的大小
gcloud compute instance groups managed create
仅支持
--base instance name
选项,无法自定义为实际实例名生成的随机字符串。