Подготовка расширения виртуальной машины Azure заняла слишком много времени

Когда я пытаюсь развернуть шаблон с расширением, я получаю сообщение об ошибке: "Истекло время ожидания для расширения VM. InstallLamp. Подготовка расширения заняла слишком много времени. Расширение не сообщило об этом"

Я пытаюсь установить MySql через расширение на виртуальной машине.

вот код расширения

{
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2018-06-01",
"name": "[concat(variables('vmName'),'/', 'InstallMySQL')]",
"location": "[parameters('location')]",
"dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/',variables('vmName'))]"
],
"properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.7",
    "autoUpgradeMinorVersion":true,
    "settings": {
        "fileUris": [
            "<url of custom script>"
        ],
        "commandToExecute": "sampleScript.sh"
    }
}

Вот код sampleScript.sh

sudo apt-get -y update
dbpass=12345678
export DEBIAN_FRONTEND=noninteractive
echo "mysql-server-5.7 mysql-server/root_password password" $dbpass | sudo debconf-set-selections >>
echo "mysql-server-5.7 mysql-server/root_password_again password" $dbpass | sudo debconf-set-selections
sudo apt-get -y install mysql-server-5.7
sudo apt-get -y install apache2 php7
sudo service apache2 restart

1 ответ

Ошибка, которую вы сделали, заключается в том, что команды в скрипте по-прежнему интерактивны из-за команды sudo. Когда вы используете командуsudo, вам потребуется ввести пароль пользователя root.

И, насколько я знаю, расширение виртуальной машины уже имеет права root на установку программного обеспечения. Таким образом, вам не нужно использовать командуsudoв вашем сценарии. Вам просто нужно убедиться, что скрипт доступен и изменить его так:

apt-get -y update
dbpass=12345678
export DEBIAN_FRONTEND=noninteractive
echo "mysql-server-5.7 mysql-server/root_password password" $dbpass | debconf-set-selections
echo "mysql-server-5.7 mysql-server/root_password_again password" $dbpass | debconf-set-selections
apt-get -y install mysql-server-5.7
apt-get -y install apache2 php7
service apache2 restart
Другие вопросы по тегам