
Persistent Storage for EKS: What Are the Options?
A critical aspect of running Kubernetes clusters on EKS is persistent storage — how Kubernetes stores data so it remains accessible even after specific pods or workloads have shut down. EKS gives you access to several AWS storage services. We’ll discuss these services, their pros and cons, and their usefulness for production Kubernetes workloads.
- Performance: FSx for ONTAP uses the ONTAP operating system to provide low-latency access and high IOPS, providing fast and consistent performance for production workloads.
- Data management: Offers features like data replication, storage-efficient snapshots, and zero-capacity cloning, which simplify testing, backup, and disaster recovery processes.
- Cost-effectiveness: FSx for ONTAP enables significant cost savings through its data reduction technologies like deduplication and compression. These features reduce the amount of storage required for data, directly impacting and lowering storage costs.
Best Practice | Why It's Important | Why It's Important | EBS | FSx for ONTAP |
---|---|---|---|---|
Leverage dynamic provisioning | Simplifies managing storage resources by creating storage volumes on-demand | Supported (highly scalable) | Supported (highly scalable) | |
Consider data protection | Ensures data safety with regular backups, data replication across zones for fault tolerance, and disaster recovery planning | Not included | Built-in | Built-in |
Right-size resources | Avoids over- or under-provisioning by analyzing storage needs based on application data usage and growth rates | Supported | Supported | Supported |
Use high availability | Enhances application resilience with deployment across multiple zones, data replication, and automatic failover for continuous accessibility | Limited to single AZ | Multi-AZ | Multi-AZ with advanced replication options |
Consider storage quotas | Prevents resource monopolization and ensures efficient utilization by setting limits on storage usage per Kubernetes namespace | Limited to 64 TB | Unlimited storage per pod | Unlimited storage per pod |
Monitor and adjust based on performance | Keeps storage performance and capacity optimal by regularly monitoring metrics and adjusting provisioning as needed | Supports high performance with provisioned IOPS | Does not support low latency use cases | High performance built in |
Implement security measures | Secures storage by implementing access controls, encryption in transit and at rest, and following AWS best practices | Supported | Supported | Supported |