Terraform 错误:虚拟机在处理扩展时报告失败

问题描述 投票:0回答:1

我尝试使用 Terraform 在 Azure VM 上运行来自 GitHub 的 Ansible conf Powershell 文件,但出现以下错误。

错误信息:

Code="VMExtensionProvisioningError" Message="VM 在处理扩展“configansible”(发布者“Microsoft.Compute”并键入 '自定义脚本扩展')。错误消息:“已完成执行命令”。有关故障排除的更多信息,请访问 https://aka.ms/VMExtensionCSEWindowsTroubleshoot。 ”

resource "azurerm_virtual_machine_extension" "configansible" {
  name                 = "configansible"
  virtual_machine_id   = azurerm_windows_virtual_machine.onboarding.id
  publisher            = "Microsoft.Compute"
  type                 = "CustomScriptExtension"
  type_handler_version = "1.9"

  settings = <<SETTINGS
      {
        "fileUris": [
          "https://github.com/ansible/ansible-documentation/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"
        ],
             "commandToExecute": "powershell.exe -executionpolicy Unrestricted -file ./ConfigureRemotingForAnsible.ps1"
      }
      SETTINGS
}
azure powershell terraform
1个回答
0
投票

错误消息表明问题可能与

PowerShell script
或其执行方式有关。

要解决此问题,您可以尝试以下步骤。

  1. 检查虚拟机是否可以从
    PowerShell
    访问
    GitHub
    脚本。
  2. 检查 PowerShell 脚本是否在本地虚拟机上正确执行。
  3. 检查脚本是否已按照
    Architect Jamie
  4. 的建议执行

这是使用 Terraform 部署的

VM
扩展从存储帐户创建一个包含文本文件的文件夹的脚本。

provider "azurerm" { features {} } data "azurerm_virtual_machine" "example" { name = "sample-vm" resource_group_name = "Venkat" } resource "azurerm_virtual_machine_extension" "configansible" { name = "configansible" virtual_machine_id = data.azurerm_virtual_machine.example.id publisher = "Microsoft.Compute" type = "CustomScriptExtension" type_handler_version = "1.9" settings = <<SETTINGS { "fileUris": [ "https://xxxxxxx.blob.core.windows.net/script/powershell.ps1" ], "commandToExecute": "powershell.exe -executionpolicy Unrestricted -file ./powershell.ps1" } SETTINGS }

虚拟机扩展: enter image description here

运行脚本后

VM

扩展已安装在虚拟机上。

enter image description here

PowerShell

 脚本已成功在 
VM
 上执行。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.