在AWS EKS环境中 pod想要使用外部存储,大概有以下几种方式,这里把外部存储挂载方式分为两类:
- 共享存储方式挂载,将外部存储挂载了Work工作节点,在pod中以HostPath方式挂载,像S3FS,EFS,HostPath这种比较特殊它本身是宿主机目录;
- StorageClass方式挂载,在集群中将外部存储配置为StorageClass存储类,通过StorageClass创建若干PV、PVC,然后在pod中挂载这些PVC,支持的存储类有EBS,EFS,FSx(EBS支持1.17、EFS支持1.17、FSx支持1.19.75或更高的k8s版本),当然还有自建的像NFS,Glusterfs,CephFS等存储系统。
共享存储方式:这里以 S3FS 将 S3 作为共享存储挂载到 Kubernetes Pod 为例,
Kubernetes pod 中使用S3FS架构图如下所示:
StorageClass方式: