【问题标题】:Azure VM provisioning - custom dataAzure VM 预配 - 自定义数据
【发布时间】:2021-04-28 19:08:34
【问题描述】:

有人精通 azure SDK for python 吗? 我正在尝试使用从另一个 VM 捕获的图像创建许多 VM。 问题:

  1. 如何放置自定义映像以进行部署?
poller =  compute_client.virtual_machines.begin_create_or_update(RESOURCE_GROUP_NAME, VM_NAME,
    {
        "location": LOCATION,
        "storage_profile": {
            "image_reference": {
                "publisher": 'Canonical',
                "offer": "UbuntuServer",
                "sku": "18.04-LTS",
                "version": "latest"
            }
        }
}
  1. 如何为实例提供自定义数据(元数据)? (元数据会不时更改)

这是我正在关注的文章, https://docs.microsoft.com/en-us/azure/developer/python/azure-sdk-example-virtual-machines?tabs=cmd

感谢任何帮助。

【问题讨论】:

  • 感谢您的帮助,我会试试这个并回复您。

标签: python python-3.x azure sdk virtual-machine


【解决方案1】:

如果您已从 Azure VM 捕获托管映像,则可以在部署新 VM 时使用 id in ImageReference 引用它,如下代码所示。如果您打算从 .vhd 文件部署它,可以参考this

poller = compute_client.virtual_machines.begin_create_or_update(RESOURCE_GROUP_NAME, VM_NAME,
    {
        "location": LOCATION,
        "storage_profile": {
           
            "image_reference": {
               "id": "/subscriptions/{subscription-id}/resourceGroups/{myResourceGroup}/providers/Microsoft.Compute/images/{existing-custom-image-name}"
            }
        },
    "hardware_profile": {
        "vm_size": "Standard_DS1_v2"
    },
    "os_profile": {
        "computer_name": VM_NAME,
        "admin_username": USERNAME,
        # "admin_password": PASSWORD,
        "custom_data": encoded_string,

您可以在OSProfile 中指定自定义数据的base-64 编码字符串。我正在使用Python 3.9.4

import base64

...

file = open("custom-data.sh", "rb")
a = file.read()
encoded_string = base64.b64encode(a).decode('utf-8')

...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2018-01-09
    • 2019-08-16
    • 2023-01-27
    • 2017-12-29
    • 1970-01-01
    • 2021-02-20
    相关资源
    最近更新 更多