【问题标题】:Specify namespace when creating kubernetes PV/PVC with Terraform使用 Terraform 创建 kubernetes PV/PVC 时指定命名空间
【发布时间】:2020-05-04 05:12:58
【问题描述】:

我正在尝试使用Terraformkubernetes GKE 集群上创建 PV/PVC

但是documentation 没有mention 如何指定应该在其中创建这些资源的namespace

我尝试在specmetadata 部分都添加它,但我收到一条错误消息:

resource "kubernetes_persistent_volume" "jenkins-persistent-volume" {
  metadata {
    name = "${var.kubernetes_persistent_volume_metadata_name}"
    # tried placing it here -->> namespace = "${var.kubernetes_jenkins_namespace}"

  }
  spec {
    # tried placing it here -->> namespace = "${var.kubernetes_jenkins_namespace}"
    capacity = {
      storage = "${var.kubernetes_persistent_volume_spec_capacity_storage}"
    }
    storage_class_name = "standard"
    access_modes = ["ReadWriteMany"]
    persistent_volume_source {
      gce_persistent_disk {
        fs_type = "ext4"
        pd_name = "${google_compute_disk.jenkins-disk.name}"
      }
    }
  }
}

错误:module.jenkins.kubernetes_persistent_volume.jenkins-persistent-volume:spec.0:无效或未知键:命名空间

这样的配置放在哪里?

【问题讨论】:

    标签: kubernetes terraform


    【解决方案1】:

    Persistent volumes 是集群全局对象,并不存在于特定的命名空间中。 (“它是集群中的资源,就像节点是集群资源一样。”)相应地,您不能在 kubernetes_persistent_volume 资源的任何位置包含命名空间名称。

    如果您在云环境中运行(并且您的 PV 正在创建 Google 存储卷),通常只创建一个持久卷声明,并让集群为您分配底层卷。 PVC 命名空间范围的,并且 Terraform kubernetes_persistent_volume_claim resource 显式为 documents,您可以在 metadata 块中包含 namespace

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-23
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      相关资源
      最近更新 更多