首先要为这个问题提供一些背景信息。
EKS
版本 >= 1.15
的集群EFS
- EKS
security group
/mount target
等工作正常CSI
EFS
的驱动程序在 EKS
已安装并按预期工作 efs-sc
的存储类使用 EFS CSI
驱动程序作为供应商EFS
pod 上的音量 但是......它只有在它是根路径时才有效
/
定义为 kubernetes
中的路径持久卷资源定义。Terraform 0.12 语法示例
resource "kubernetes_persistent_volume" "vol" {
metadata {
name = "my-vol"
}
spec {
capacity = {
storage = "15Gi"
}
access_modes = ["ReadWriteMany"]
storage_class_name = "efs-sc"
persistent_volume_reclaim_policy = "Recycle"
persistent_volume_source {
nfs {
path = "/" # -> OK it works properly
# path = "/access-point-path" -> NOT WORKING
server = var.efs-storage-apt-server
}
}
}
}
当我尝试指定访问点的路径时,卷的安装失败。
efs
接入点是这样配置的那么这是一个限制吗?我错过了什么?
我正在寻找这个解决方案 efs-provisioner但我看不出这将从当前配置中解决什么问题。
最佳答案
现在有可用的文档:https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/master/examples/kubernetes/access_points/README.md#create-access-points-in-efs
您需要使用更新的 EFS CSI 驱动程序。访问点在 PersistentVolume 的 volumeHandle
下定义。 .最近的 EFS CSI 驱动程序不再支持动态绑定(bind),因此,需要为每个 PersistentVolumeClaim 手动创建 PersistentVolume。
apiVersion: v1
kind: PersistentVolume
metadata:
name: efs-pv1
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: efs-sc
csi:
driver: efs.csi.aws.com
volumeHandle: [FileSystemId]::[AccessPointId]
关于amazon-web-services - 是否可以使用 AWS EFS 访问点在 EKS 中挂载 kubernetes 持久卷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61378144/