问题标签 [terraform-provider-azure]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - VMSS 中的自定义扩展
VMSS 启动后,我想执行一个 shell 脚本作为 VMSS 扩展的一部分。这是我尝试过的,但脚本没有执行。
我最初的分析是脚本对 VMSS 不可用;在这种情况下,如何将脚本与 tf 构建一起复制,我不想上传到 blob 存储并在此处提供路径。在虚拟机的情况下,我可以使用文件配置器和远程执行来实现相同的目标。
在 extension.log 中没有找到太多信息,任何帮助都是非常可观的。
azure - 有人成功使用 azurerm_virtual_machine_extension 启用 VM 诊断吗?
在 Azure 中启用 VM 诊断非常痛苦。我已经使用 ARM 模板、Azure PowerShell SDK 和 Azure CLI 让它工作了。但是我这几天一直在尝试使用 Terraform 和 azurerm_virtual_machine_extension 资源为 Windows 和 Linux VM 启用 VM 诊断。还是不行,唉!
这是我到目前为止所拥有的(我已经对此进行了一些调整以简化这篇文章,所以希望我的手动编辑没有破坏任何东西):
请注意,对于 Linux 和 Windows,我根据注释从代码库中的 JSON 文件加载诊断详细信息。这些是 Azure 提供的默认配置,因此它们应该是有效的。
当我部署这些时,Linux VM 扩展部署成功,但在 Azure 门户中,扩展显示“在生成的 mdsd 配置中检测到问题”。如果我查看 VM 的“诊断设置”,它会显示“遇到错误:TypeError:对象不支持属性或方法 'diagnosticMonitorConfiguration'”。Windows VM 扩展无法完全部署,说它“无法读取配置”。如果我在门户中查看扩展程序,则会显示以下错误:
如果我查看“诊断设置”窗格,它只会挂着一个永无止境的“......” 动画。
但是,如果我查看两个 VM 扩展的“terraform apply”输出,解码后的设置看起来完全符合预期,将配置文件与正确替换的占位符匹配。
关于如何使它工作的任何建议?
提前致谢!
azure - 如何将具有多个资源的 Terraform 模块导入其他状态 - Azure
我有在 Azure 中构建 azure postgre sql 资源的 terraform 模块,我必须将此模块及其所有资源移动到另一个状态文件。
我考虑过导入模块中定义的所有资源,但一些模块资源是随机字符串和模板文件,我想我不能像 azure 资源那样导入。
在这种情况下,任何人都有最佳实践,我也在考虑使用“state mv”命令将本地资源移动到其他状态文件并将新状态文件上传到 Azure 存储帐户,因为这是我拥有后端的地方。
azure - Terraform:使用 azurerm_kubernetes_cluster 创建 AKS 群集时指定网络安全组规则
我正在使用 Terraform azurerm 提供程序版本 1.19 创建 AKS 群集。我想在创建集群时指定网络安全组规则,但我不知道如何引用创建的安全组,因为生成的安全组的名称是随机数。
就像是:
aks-agentpool-33577837-nsg
有没有办法引用创建的 nsg 或至少输出名称中使用的随机数?
创建集群的配置:
这会生成一个安全组,我想向其中添加其他规则。这是我想添加的一条规则,以便可以检查 nginx-controller 的 liveness 探针。
terraform - Terraform - 调用模块抛出错误时引用实例值
我有下面的代码块,它根据名称列表和地址前缀列表创建一堆子网。
然后,我尝试使用模块创建一些路由,但是当我尝试使用azurerm_subnet.subnet资源的特定实例中的属性为变量传递值时,它会引发错误:
“module.insidemzroutes.var.subnet_name:找不到变量‘azurerm_subnet.subnet.5.name’的资源‘azurerm_subnet.subnet’”
这不起作用还是我的参考构造不正确?
azure - 未在 Azure VM 中设置 FQDN
地形版本
Terraform 配置文件
自定义数据文件
预期行为
它应该设置 FQDN 并且运行hostname -f
应该返回完整的 FQDN
实际行为
hostname
仅返回 FQDN 的第一部分head01
。
hostname --fqdn
因错误而失败hostname: Temporary failure in name resolution
附加信息
我也尝试过custom_data
方法(现在已评论)。它给出了相同的结果。
/etc/hosts
内容
/etc/resolv.conf
内容
azure - 如何以编程方式为 Azure 自动化帐户启用更新管理?
我目前正在使用 Terraform 和一些 Powershell 来自动化我的所有基础架构,并且我正在寻找一种完全自动化的方法来为我的所有 VM 配置更新管理。我能够部署自动化帐户、Log Analytics 工作区和链接的服务资源来管理两者之间的连接。但是,我无法在自动帐户上启用更新管理服务。
是否有任何可自动化的方式(ps、tf、api 等)我可以简单地为我的自动化帐户启用更新管理?
azure - 将现有资源导入 Terraform 状态文件时出错
我正在尝试重构我的一些模块,这需要我将现有资源移动到不同的状态文件中。
通常导入资源是单调但简单的。
在尝试导入任何这些资源时,我不知道如何解释以下“路径段数不能被 2 整除”错误。
这发生在我尝试导入的所有资源上(过去我已经成功完成了很多次)
地形版本:
json - 如何在 Terraform 的 ARM 模板中使用 custom_data 参数?
我有一个 Azure ARM 模板,它成功地从 Azure 存储帐户中的文件目录引导 VM。我想让它在 Terraform 中工作,但我真的很难让它正常工作。
这是一个有效的 Azure ARM 模板,它创建 VM 并使用 Azure 存储帐户中的文件引导它。通过使用customData参数进行引导。
这是我尝试执行相同类型的引导时无法正常工作的 Terraform 脚本。
这是我运行它时收到的错误。如果我不使用 custom_data 字段,机器可以正常启动,但不会被引导。我在这里没有想法..
azure-devops - 如何从以下 terraform 代码中获取 azure VM 的公共 IP
我有一个需要检索 vm 的公共 ip 的 terraform 代码,这是我的代码
这里使用的是 NIC id ,默认情况下会提供公共 ip,有人可以帮我吗?