小编Ber*_*las的帖子

Terraform:如何在不锁定自己的情况下使用 iam_policy

我在使用iam_policy资源类型而不被锁定在terraform destroy. 这适用于google_storage_bucket_iam_policy和 等资源类型google_project_iam_policy

此示例适用于google_storage_bucket_iam_policy资源。假设我有一个所有者列表以及 terraform 用于授予该roles/storage.admin角色的服务帐户。

resource "google_storage_bucket" "default" {
  name = "default"
  location = "EU"
}

resource "google_storage_bucket_iam_role"  "owners" {
  bucket = "default"
  binding {
    role = "roles/storage.admin"
    members = [
      "${var.owners}",
      "${var.serviceAccount}"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

资源创建的顺序是先存储桶,再创建策略。当然,destroy操作会按相反的顺序处理资源 - 首先是策略,然后是存储桶。但是,删除策略后,服务帐户没有足够的权限来删除存储桶。

也许一种解决方法是google_storage_bucket_iam_member为所有者使用资源,但是这种方法看起来不太干净,因为它继承了之前在项目中定义的任何内容,这可能非常混乱。

顺便说一句,相同的逻辑适用于项目级别的资源google_project_iam_policy。提前致谢。

google-cloud-platform terraform google-iam

6
推荐指数
1
解决办法
874
查看次数

Terraform 创建的服务主体不在输出中提供密码/秘密

在 Azure 中手动生成服务主体时,作为操作的结果,我获得了密码。

但是,如果我使用 Terraform 创建服务主体,则情况并非如此,密码不在此模块的输出中:

  + azuread_service_principal.k8s_principal
      id:                <computed>
      application_id:    "${azuread_application.app.application_id}"
      display_name:      <computed>
Run Code Online (Sandbox Code Playgroud)

有什么我错过的吗?与 CLI 相比,为什么 Terraform 的输出行为不同?

service-principal terraform-provider-azure

3
推荐指数
1
解决办法
1356
查看次数

Kubernetes NetworkPolicies 是否会阻止 NodePort 流量?

我在官方文档中找不到是否NetworkPolicy阻止NodePort入口流量。

  ingress:
  - from:
    - podSelector:
        matchLabels:
          role: frontend
Run Code Online (Sandbox Code Playgroud)

考虑上面的 NetworkPolicy - 是否期望它会阻止任何进入NodePort我的命名空间内的 -type 服务的流量?

如果是这样,我如何允许此类流量进入我的命名空间?会ipBlock解决吗?

kubernetes

3
推荐指数
1
解决办法
2632
查看次数

具有复杂变量的 Terraform local-exec 命令

我需要迭代本地执行提供程序中的变量列表。那可能吗?

变量.tf:

variable "items" {
  default = []
}
Run Code Online (Sandbox Code Playgroud)

主要.tf:

resource "null_resource" "loop_list" {
  provisioner "local-exec" {
    interpreter = ["/bin/bash", "-c"]
    command = <<EOF
      for i in ${join(' ', var.items)}
        print $i
      done
EOF
  }
}
Run Code Online (Sandbox Code Playgroud)

terraform

2
推荐指数
1
解决办法
5024
查看次数