gpt4 book ai didi

azure - 使用 Terraform 部署期间在 Azure VM 上安装 DSC 扩展的问题

转载 作者:行者123 更新时间:2023-12-03 00:49:14 25 4
gpt4 key购买 nike

我正在尝试使用本文中的信息:

https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/dsc-template#default-configuration-script

在部署时将 VM 载入 Azure 自动化并应用配置。

我正在使用 Terraform 进行部署,下面是我用于扩展的代码:

resource "azurerm_virtual_machine_extension" "cse-dscconfig" {
name = "${var.vm_name}-dscconfig-cse"
location = "${azurerm_resource_group.my_rg.location}"
resource_group_name = "${azurerm_resource_group.my_rg.name}"
virtual_machine_name = "${azurerm_virtual_machine.my_vm.name}"
publisher = "Microsoft.Powershell"
type = "DSC"
type_handler_version = "2.76"
depends_on = ["azurerm_virtual_machine.my_vm"]

settings = <<SETTINGS
{
"configurationArguments": {
"RegistrationUrl": "${var.endpoint}",
"NodeConfigurationName": "VMConfig"
}
}
SETTINGS

protected_settings = <<PROTECTED_SETTINGS
{
"configurationArguments": {
"registrationKey": {
"userName": "NOT_USED",
"Password": "${var.key}"
}
}
}
PROTECTED_SETTINGS
}

我通过运行下面的命令并将该值传递到 Terraform 来在执行时获取 RegistrationURL 值:

$endpoint = (Get-AzureRmAutomationRegistrationInfo -ResourceGroupName $tf_state_rg -AutomationAccountName $autoAcctName).Endpoint

我通过运行下面的命令并将该值传递到 Terraform 来在执行时获取密码值:

$key = (Get-AzureRmAutomationRegistrationInfo -ResourceGroupName $tf_state_rg -AutomationAccountName $autoAcctName).PrimaryKey

我可以从虚拟机上的日志看出该扩展正在安装,但从未注册到自动化帐户。

最佳答案

找出问题所在。该文档在某些方面的细节很少,因此我确实是通过反复试验才发现导致问题的原因。我的 NodeConfigurationName 属性值错误。文档对此属性的说明:指定自动化帐户中要分配给节点的节点配置。由于没有太多 DSC 经验,我中断了此操作以表示配置名称,如Azure 门户中自动化帐户的状态配置 (DSC) 边栏选项卡的配置部分。

NodeConfigurationName 属性真正指的是配置中的 Node 定义,它的格式应该是 ConfigurationName.NodeName。例如,我的配置名称是 VMConfig,在配置源中我定义了一个名为 localhostNode block 。因此,这样...NodeConfigurationName 属性的值应该是 VMConfig.localhost

关于azure - 使用 Terraform 部署期间在 Azure VM 上安装 DSC 扩展的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54371982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com