AWS EBS CSI Driver
We are excited to announce that v1.30 of the EBS CSI Driver is now generally available. This release comes with significant improvements and bug fixes that enhance the driver’s performance and reliability. Here is a brief summary of key changes:
Retry Manager to reduce RateLimitExceeded Errors
- This change helps prevent surges of errors when the driver repeatedly calls an EC2 API within a short period (typically observed when users significantly scale up their stateful workloads).
HTTPS Support for Metrics Endpoint
- The driver now supports running the prometheus metrics server via HTTPS by allowing users to supply a certificate, enhancing the security of the metrics endpoint.
Support for Cluster Autoscaler Taint and Handling Deleted Node Cases in Prestop Lifecycle Hook
- The driver now supports the custom taint used by Cluster Autoscaler when draining nodes. Additionally, the hook which helps prevent 6 minute attachment delays has been updated to handle cases where the Kubernetes node object does not exist, improving its efficacy.
Migration to AWS SDK for Go v2
- In alignment with the AWS SDKs and Tools Maintenance Policy, we have migrated the driver to use the AWS SDK for Go v2. This change ensures continued support and access to the latest SDK features and improvements.
Batch Polling of DescribeVolumesModifications
- We have implemented batching EC2 DVM calls across the driver’s ControllerExpandVolume, ControllerModifyVolume, and ModifyVolume RPCs. This change helps reduce the likelihood of exceeding non-mutating API request token limit when modifying volumes simultaneously at scale.
Platform-Agnostic Node Service
- The driver’s node service has been refactored to be platform-agnostic. This improves the driver’s modularity, testability, and significantly increases the driver’s node service code coverage across all platforms.
Improved Driver Configuration Management and Driver Architecture
- The driver’s configuration management has been significantly improved, making it easier to reason about and extend the driver’s functionality. This change also revises the relationship between the driver’s entrypoint, controller, and cloud modules.
Explicit AttachVolume Call in WaitForAttachmentState
- An explicit AttachVolume API call has been added to the driver’s attachment state polling to handle the case where there is a mismatch between the expected and actual attachment state of a volume due to EC2’s eventual consistency model. This change addresses a customer pain point.
In addition to these improvements, several bug fixes have also been implemented to further enhance the driver’s reliability. You may review the full CHANGELOG below.
CHANGELOG
See CHANGELOG for full list of changes