【问题标题】:Discovering peer instances in Azure Virtual Machine Scale Set在 Azure 虚拟机规模集中发现对等实例
【发布时间】:2017-06-30 07:24:47
【问题描述】:

问题:鉴于作为 VMSS 的一部分启动的 N 个实例,我希望每个 azure 实例上的应用程序代码能够发现其他对等实例的 IP 地址。我该怎么做?

总体意图是集群实例,以提供主动被动 HA 或保持配置同步。

似乎支持基于 REST API 的查询:https://docs.microsoft.com/en-us/rest/api/virtualmachinescalesets/

想知道其他方法,即 python SDK 或实例元数据 URL 等。

【问题讨论】:

    标签: python azure azure-vm-scale-set


    【解决方案1】:

    您提到的 RestAPI 有一个 Python SDK,即“azure-mgmt-compute”客户端 https://docs.microsoft.com/python/api/azure.mgmt.compute.compute.computemanagementclient

    【讨论】:

    • 链接失效
    【解决方案2】:

    一种方法是使用实​​例元数据。现在,实例元数据仅显示有关它正在运行的 VM 的信息,例如

    curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute?api-version=2017-03-01"
    {"compute":
    {"location":"westcentralus","name":"imdsvmss_0","offer":"UbuntuServer","osType":"Linux","platformFaultDomain":"0","platformUpdateDomain":"0",
    "publisher":"Canonical","sku":"16.04-LTS","version":"16.04.201703300","vmId":"e850e4fa-0fcf-423b-9aed-6095228c0bfc","vmSize":"Standard_D1_V2"},
    "network":{"interface":[{"ipv4":{"ipaddress":[{"ipaddress":"10.0.0.4","publicip":"52.161.25.104"}],"subnet":[{"address":"10.0.0.0","dnsservers":[],"prefix":"24"}]},
    "ipv6":{"ipaddress":[]},"mac":"000D3AF8BECE"}]}}
    

    您可以执行以下操作,例如让每个 VM 将信息发送到 VM#0 上的侦听器或外部服务,或者您可以将其与 Azure 文件结合起来,让每个 VM 输出到一个公共共享。这里有一个 Azure 模板概念证明,它将信息从每个 VM 输出到 Azure 文件共享。https://github.com/Azure/azure-quickstart-templates/tree/master/201-vmss-azure-files-linux - 每个 VM 都有一个挂载点,其中包含每个 VM 写入的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 2020-11-18
      相关资源
      最近更新 更多