问题标签 [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 - 通过 Terraform 创建 Azure Windows VM
在 Azure 中,我正在尝试使用 Terraform 创建一个 Windows VM。我之前使用 Template.json 文件通过 Powershell 完成了此操作。现在我必须处理 terraform,我对它完全陌生。所以我搜索了一些在 Azure 中创建 VM 的示例脚本并找到了这个。
在此链接中,有一个用于旋转 Linux VM 的示例 Terraform 脚本。但我需要从图像中旋转 Windows VM。我应该在哪里提供图像详细信息。我的完整要求是:
- 从映像创建 Windows VM(具有资源 ID)
- 我已经创建了资源组、虚拟网络、子网。我只需要传递这些值并创建它们。
- 我们已经从门户本身定义了子网地址前缀、Vnet 地址空间。所以我必须在脚本中再次给出还是可以跳过它。
- 业务要求是任何虚拟机都不应该有公共 IP 和 DNS 名称,所以如果我删除“# Create public IPs”部分,那不会创建公共 IP 吗?
创建Linux机器的脚本在这里,我将其作为参考。
azure - 在使用 terraform 在 Azure 中创建网络接口时,使用现有的子网详细信息而不是再次创建
我正在尝试使用以下脚本通过 terraform 在 Azure 中创建网络接口:
此脚本创建子网Subnet1
并将其分配Subnet.id
到ipconfiguration
.
.tf
但是,如果我必须通过另一个具有相同的文件再次创建另一个网络接口Subnet1
,我该怎么做才能${azurerm_subnet.internal.id}
再次获得该值。
也就是说,如果子网已经存在并且我不想创建它,我如何设置这些值并使用它们?
编辑
我发现,在 powershell 中,这是用于确定子网 id 的脚本:
其中 VNetRG - VNet 的资源组,
VNetName - VNet 的名称,
Subnet1 - 子网的名称。
谁能告诉我 terraform 中的等效脚本是什么?
permissions - 使用 Terraform 在 appRegistration azure 中赋予所有者角色的问题
我正在使用 Terraform 在 Azure 中创建应用注册。
之后,我尝试将所有者权限授予其他人(我自己),但它不允许我这样做。
我正在使用的命令序列是:
但我收到以下错误消息:
有谁知道如何将所有者角色赋予 ObjectID 8c7b71b3-cf32-4da5-9bbb-5e5dd249c607 的人?
谢谢,胡安拉
terraform - 我可以在 Terraform 中为自动生成的资源选择名称吗?
我正在使用 Terraform 生成 Azure Kubernetes 服务集群(以及其他东西),当我运行 Terraform 时,它会自动生成 AKS 集群使用的不同资源。我可以在 AKS 群集上选择自定义名称,但自动生成的资源接近随机名称。
有没有办法在 Terraform 中的这些自动生成的资源上选择我自己的自定义名称?
例子:
这会产生:
myCluster
- Kubernetes 服务
aks-agentpool-74438003-nsg
- 网络安全组
aks-agentpool-74438003-routetable
- 路由表
aks-default-74438003-0
- 虚拟机
aks-default-74438003-0_OsDisk_1_5d379bc3205545e1bcd3f88ec9605
- 磁盘
aks-default-74438003-nic-0
- 网络接口
aks-vnet-74438003
- 虚拟网络
default-availabilitySet-74438003
- 可用性集
例如,我可以选择是否需要那个aks前缀吗?那个重复的数字是多少?我可以基本自定义这些吗?
azure - Terraform 中的 Azure 单一数据库通用版
所以我需要通过 Terraform 在 Azure 中创建一个单一的数据库。要求是 8vCores/3TB。
我应该在资源参数“azurerm_sql_database”-->“edition”中传递的版本应该是什么?
https://www.terraform.io/docs/providers/azurerm/r/sql_database.html上的文档 说——有效值为:Basic、Standard、Premium 或 DataWarehouse。
但是当我通过门户创建一个类似的数据库并查询数据库时,它说版本是'GeneralPurpose'。
azure-aks - terraform azurerm_kubernetes_cluster 节点
我在 terraform 中绑定了不同的方法来获取 azurerm_kubernetes_cluster 的虚拟机列表,但没有成功。这里有许多可能的元素:https ://www.terraform.io/docs/providers/azurerm/d/kubernetes_cluster.html但其中没有允许获取 VM 列表的接缝。有办法吗?
azure - 通过 Terraform 创建 Azure 自动化启动/停止解决方案
我正在尝试使用新的 Azure 自动化插件(https://docs.microsoft.com/en-us/azure/automation/automation-solution-vm-management)将机器设置为自动启动/停止这是由 Terraform 设置的。
我可以创建自动化帐户,但我不知道如何创建启停功能,有人可以帮忙填空吗?
terraform-provider-azure - 引用其他资源组中的资源
在 Azure 中,我使用 Terraform 将基础架构部署到资源组 02 (rg02)。我在资源组 01 (rg01) 中有一个 VNet (nvn01) 和子网 (subnet-000),需要在main.tf
.
我尝试了三种方法:
方法一
提供子网 ID 作为变量。子网 ID 已从Resource Explorer复制并粘贴。init
不会产生任何错误,但是会plan
产生:
.tfvars 包含以下行:
我想知道 CaSe 是否存在问题,因为 RG 和 VNet 以大写形式出现。我知道 Azure 有时会引起人们的注意。
方法二
此方法存在错误 #2016,已在未发布的版本 1.17.0 中修复。使用data{}
,我因此引用子网:
在我的资源中,称之为subnet_id = "${data.azurerm_subnet.shared.id}"
init
在上述错误很明显的阶段出现此错误。我试图通过version = "1.17.0"
在provider{}
声明中设置来告诉 TF 使用 1.17.0,但它被忽略了,我最终得到1.16.0
.
方法三
我也尝试过方法 2,但没有使用azurerm_subnet
; 选择azurerm_virtual_network
并使用以下方法调用它:
但是错误与方法 2 相同,我注意到资源组位于错误的位置。我希望 1.17.0 修复了这两个错误。
在ARM模板中,我记得ResourceId('subnetId')
在这种情况下必须使用一个,所以我想知道TF中是否有类似的功能。也许我必须为子网 ID 路径添加前缀?
无论如何,由于 Azure 提供程序的例子很少,至少可以说,如果有人有任何指示,如果你能分享,我将不胜感激,在无需自己构建或修复的情况下下载 1.17.0子网标识。
TIA。
terraform - IP 地址变量的未知令牌 IDENT 列表错误
我在 .tfvars 变量中将变量定义为
变量.tfvars
构建-windows.tf
在 build-windows.tf 文件中,我收到错误为 Unknow token ident list?
不知道我在这里做错了什么,我什至不明白为什么 terraform 要我使用列表而不是字符串。当我使用字符串时,我在terraform 计划中收到一个错误,指出我必须使用列表。
哪儿也不去。
请协助
terraform - 如何引用导入的 terraform 资源
我需要你的帮助。我们创建了一个资源组 ( rg_networking ) 和虚拟网络 ( vnet_preprod ) 以及其中的 5 个子网 ( subnet_ad )、subnet_app、subnet_ctl 等。
我的资源导入工作得很好,但是,我不知道是使用/引用导入的资源吗?
导入的资源如上所示。这些资源现在处于您的 Terraform 状态,今后将由 Terraform 管理。
在我的windows-build-tf文件中
我必须插入上面的代码片段,否则导入将不起作用。
我之前的工作配置,使用 Terraform 创建所有内容而不使用任何导入的资源,如下所示:
变量.tfvars
构建-windows.tf
我的问题是如何引用导入的资源,我更喜欢它们是参数化的,但如果不可能,那么硬编码值将是前进的方式吗?我需要在同一个资源组中创建我的虚拟机吗?
我可以看到它们在状态文件中导入,请指导,因为我对 Azure 和 Terraform 非常陌生。
非常感谢!