Невозможно добавить пользовательские данные с помощью команды AZ CLI az create vm - PullRequest
0 голосов
/ 28 апреля 2020

Я запускаю приведенную ниже команду для создания виртуальной машины в моей группе ресурсов, однако при входе в систему я не вижу файл /root/hello.txt.

az vm create --name "my_vm" --resource-group "my_rg" --image "centos" --admin-username "centos" --os-disk-size-gb "100" --vnet-name "my_vnet" --subnet "public-4" --ssh-key-values "ssh-rsa ..." --size "Standard_DS1_v2" --nsg "my_nsg" --custom-data '#!/bin/bash
        touch /root/hello.txt
        ' --data-disk-sizes-gb "10"

Конечно, есть новые строки, которые не красиво приклеить, но это не должно иметь значения. Кроме того, я не хочу передавать путь к файлу. Мне нужно передать текст, как я делаю для AWS.

Конечная цель - запустить скрипт ниже bash, чтобы увеличить раздел диска ОС, который слишком мал.

#!/bin/sh
fdisk /dev/sda <<EOF
u
p
d
2
n
p
2


w
EOF
touch fdisk.log
reboot
xfs_growfs -d /dev/sda2
touch xfs.log

1 Ответ

0 голосов
/ 29 апреля 2020

Прежде всего, пользовательские данные - это сценарий или другие метаданные, которые могут быть внедрены в виртуальную машину Microsoft Azure во время предоставления . В настоящее время существует предустановленных и настроенных облачных образов в Azure. Он может воздействовать на пользовательские данные, отправленные во время предоставления, используя файл конфигурации cloud-init или просто сценарий оболочки (если он начинается с #!, то cloud-init будет выполнять его).

На Linux эти данные передаются на виртуальную машину через файл ovf-env.xml, который копируется в каталог /var/lib/waagent во время предоставления. Более новые версии агента Microsoft Azure Linux также для удобства скопируют данные в кодировке base64 в /var/lib/waagent/CustomData.

Чтение Пользовательские данные и Cloud-Init в Microsoft Azure для получения более подробной информации.

Как правило, пользовательские данные отправляются на виртуальную машину вместе с другой информацией о конфигурации , такой как новое имя хоста, имя пользователя, пароль, сертификаты и ключи и др. c. В этом случае я не думаю, что вы можете изменить размер раздела диска ОС, используя пользовательские данные во время предоставления. Кажется, что невозможно выполнить перезагрузку и интерактивные сценарии обработки в пользовательских данных.

Для получения дополнительной информации вы можете прочитать

Изменение размера системного диска Linux VM в Microsoft Azure

Расширение виртуальных жестких дисков на виртуальной машине Linux с помощью Azure CLI

...