【发布时间】:2020-12-15 06:12:39
【问题描述】:
我正在创建一个 terraform 计划以在 Azure 中设置一些资源(其中包括 AKS 群集)。对于集群的使用,我创建了一个服务主体,它允许在 docker 注册表中扮演“acrpull”角色(我使用innovationnorway/service-principal/azuread 模块完成了该操作,而对于其他所有内容,我创建了自己的东西)。
下一步,我需要为资源组(我也创建)上的该服务主体分配一个“网络参与者”角色 -> 基本上是为了复制分配 suggested here。
为此我正在这样做
resource "azurerm_role_assignment" "network_contributor" {
scope = module.resource_group.resource_group_id
role_definition_name = "Network Contributor"
principal_id = module.service_principal.object_id
}
但是,我没有看到预期的结果(例如:集群能够使用为集群自动创建的 RG 在我的主资源组中创建的静态 IP)。
我做错了吗?例如,我没有收到错误,并且集群能够访问注册表。
谢谢!
【问题讨论】:
-
在调试这样的事情时,我发现手动创建一个您期望出现的内容,然后将正确的一个与 terraform 创建的进行比较是很有用的。您可以使用 Azure 中的“导出模板”选项轻松比较两者
-
好吧,这不可能知道,因为它使用了某些模块的一些随机输出,那么我们怎么知道它为什么不起作用呢?
-
还要确保您使用的是最新的 Azure 提供程序
-
@Liam 使用手动导出的好主意,谢谢