使用EFS时Terraform kubernetes的持久卷源配置

使用EFS时Terraform kubernetes的持久卷源配置,terraform,amazon-eks,amazon-efs,kubernetes-pvc,terraform-provider-kubernetes,Terraform,Amazon Eks,Amazon Efs,Kubernetes Pvc,Terraform Provider Kubernetes,我正在k8s集群中使用EFS作为CSI驱动程序。 我想使用Terraform创建一个PV,它将使用efs存储类。我验证了我可以“手动”创建PV 我想使用Terraform自动化PV创建,使用资源。该资源提供了许多选项,其中一些选项效果很好。 但是我找不到一个适合EFS的,有人有主意吗?您可以使用terraform启用像这样的EFS存储类。另请参阅 您可以使用terraform启用类似这样的EFS存储类。另请参阅 您可以使用更新版本的kubernetes提供程序,并安装csi驱动程序(如Shash

我正在k8s集群中使用EFS作为CSI驱动程序。
我想使用Terraform创建一个PV,它将使用efs存储类。我验证了我可以“手动”创建PV

我想使用Terraform自动化PV创建,使用资源。该资源提供了许多选项,其中一些选项效果很好。
但是我找不到一个适合EFS的,有人有主意吗?

您可以使用terraform启用像这样的EFS存储类。另请参阅


您可以使用terraform启用类似这样的EFS存储类。另请参阅


您可以使用更新版本的kubernetes提供程序,并安装csi驱动程序(如Shashank的回答中所示)来实现这一点

范例

resource "kubernetes_persistent_volume" "pv_example" {
  provider = "kubernetes.localkubernetes"
  metadata {
    name = local.efs_name
  }
  spec {
    access_modes = ["ReadWriteMany"]
    capacity = {
      storage = "50Gi"
    }
    persistent_volume_source {
        csi {
          driver = "efs.csi.aws.com"
          volume_handle = EXISTING_EFS_VOLUME
        }
    }
  }
}
在这里,我定义了

provider "kubernetes" {
  alias = "localkubernetes"
  ...
  version                = "= 1.13.3"
}

因为terraform还有一个来自我正在使用的模块的kubernetes提供程序(具有旧版本),所以我需要显式地提供一个具有足够新版本的提供程序。(很抱歉,无法找到它添加的确切版本)

您可以使用更新版本的kubernetes提供程序,并安装csi驱动程序(如Shashank的回答中所示)

范例

resource "kubernetes_persistent_volume" "pv_example" {
  provider = "kubernetes.localkubernetes"
  metadata {
    name = local.efs_name
  }
  spec {
    access_modes = ["ReadWriteMany"]
    capacity = {
      storage = "50Gi"
    }
    persistent_volume_source {
        csi {
          driver = "efs.csi.aws.com"
          volume_handle = EXISTING_EFS_VOLUME
        }
    }
  }
}
在这里,我定义了

provider "kubernetes" {
  alias = "localkubernetes"
  ...
  version                = "= 1.13.3"
}
因为terraform还有一个来自我正在使用的模块的kubernetes提供程序(具有旧版本),所以我需要显式地提供一个具有足够新版本的提供程序。(很抱歉,无法跟踪添加的确切版本)