Azure 上的 CustomScriptExtension 与 SQL Server 映像一起未下载文件,因为已使用了黄金映像中的序列号

Azure 上的 CustomScriptExtension 与 SQL Server 映像一起未下载文件,因为已使用了黄金映像中的序列号

我正在尝试在 Azure 上部署 Windows SQL Server 并使用 CustomScriptExtension 资源在其上运行脚本。

在部署 Windows Server SKU 时,我已经成功使用了 CustomScriptExtension,但是当我尝试在运行 SQLServer SKU 的 Azure VM 上部署它时,我无法理解发生了什么(以及在哪里可以找到更多详细信息)。

例如使用

"imageReference": {
      "publisher": "MicrosoftSQLServer",
      "offer": "SQL2008R2SP3-WS2008R2SP1",
      "sku": "Enterprise",
      "version": "10.60.6001"
},

和:

{
      "name": "[concat('machineName','/','install-puppet-1')]",
      "type": "Microsoft.Compute/virtualMachines/extensions",
      "apiVersion": "2015-06-15",
      "dependsOn": [
        "[resourceId('Microsoft.Compute/virtualMachines','machineName')]"
      ],
      "location": "[resourceGroup().location]",
      "properties": {
        "publisher": "Microsoft.Compute",
        "type": "CustomScriptExtension",
        "typeHandlerVersion": "1.9",
        "settings": {
          "fileUris": "[split(concat(parameters('containerUri_1'), parameters('scriptToExecute_1')),' ')]",
          "commandToExecute": "[concat(parameters('commandToExecute_1'),' ',parameters('scriptToExecute_1'), ' -puppetEnvironment ', parameters ('puppetEnvironment_1'), ' -runInterval ', parameters ('puppetRunInterval_1'), ' -vmRegion ', parameters ('vmRegion_1'),  ' -vmEnvironment ', parameters ('vmEnvironment_1'), ' -vmRole ', parameters ('vmRole_1'))]"
        },
        "protectedSettings": {
          "storageAccountName": "[parameters('customScriptStorageAccountName_1')]",
          "storageAccountKey": "[parameters('customScriptStorageAccountKey_1')]"
        }
      }
    },

部署成功,但“下载”文件夹C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.9.1无处可寻,并且 commandToExecute 失败,返回代码 != 0

相同的代码应用于以下 SKU 时有效:

"imageReference": {
            "publisher": "MicrosoftWindowsServer",
            "offer": "WindowsServer",
            "sku": "2008-R2-SP1",
            "version": "2.127.20180412"
          }

更新:错误似乎是这样的:

[3800+00000001] [06/05/2018 06:29:15.41] [WARN] Current sequence number, 0, is not greater than the sequence number of the most recently executed configuration. Exiting...

这似乎是因为 SQLServer 映像是使用 customscript 扩展创建的,而该扩展在某种程度上“消耗”了序列号。

答案1

根据经验,我相信你是对的,自定义脚本可能已经在图像上,这就是为什么你从处理程序中收到错误。

这可能是设计使然,因此获得准确答案的最佳方法是联系支持人员来调查图像。

我知道如果你使用 PowerShell 进行部署,-Forcererun开关可能会起作用,但对于 JSON,我不确定。你可以尝试forceUpdateTag

相关内容