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

时间:2019-01-16 13:38:51

标签: google-compute-engine mysql-cluster

在过去的两年中,我一直在Google Compute Engine(GCE)中测试我们软件的性能,总共为我们的worker-VM和MySQL NDB Cluster的VM使用了1000个vCPU。使用。

我已经借助模板和实例组自动创建了工作虚拟机(运行我们的软件),但是对于MySQL NDB集群,我总是有两台固定的机器,偶尔会手动调整大小(即更改vCPU)和RAM)。

我现在正尝试为具有不同数量的vCPU和RAM的NDB群集提供可变数量的VM,我想在我的测试套件中自动执行此过程。 主要问题是NDB配置期望配置中有固定的HostName要使用GCE模板和实例组,我只能调出{{1 }}。


举例说明,这是我当前的ndb配置(众多配置之一),其中涉及固定VM ndb1和ndb2:

ndb-1ffrd, ndb-i8fhh, ...

我想将固定的虚拟机ndb1 / ndb2转换为GCE实例组,在这里我可以选择调出任意数量的此类实例(通常为2或4个)进行测试,然后销毁这些VM,然后在我的测试过程中以自动方式按需执行此操作。其背后的原因是要对具有不同配置的VM进行可重复的测试。弄清楚10项测试之前的确切配置时,在多个测试中手动更改许多参数会导致噩梦-这样,每个测试都将引用ndb VM的特定实例模板。

但是,GCE实例组成员的名称后缀是随机的,并且NDB配置期望使用固定的[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 或IP。所以我需要:

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

有什么办法可以实现我想要做的事情?

1 个答案:

答案 0 :(得分:-1)

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

希望这会有所帮助。