REX-Ray’s innovation is continually being elevated. The 0.8 release of REX-Ray brings heaping amounts of features and additions including:

Two community-contributed drivers
Over 10,000 new lines of code with fewer than 1,000 deletions

Everything from new ways to run REX-Ray to additional supported storage platforms to better documentation made the cut.

Docker 1.13 Plugin Support using Alpine

A few weeks ago, we dove into Docker 1.13 Storage Plugins and Propagated Mounts that showed a tech preview of running the REX-Ray EBS driver. This tech preview broke some new grounds by running REX-Ray inside of a container and using the new Docker 1.13 Managed Plugin System. Within a short time period, engineering has progressed to rebuild the image using Alpine Linux and bring support for additional platforms through the use of REX-Ray’s mature CI/CD pipeline. Pull #723 introduced an easy way to build Docker plugins while Pull #732 automatically pushes new plugins to Docker Hub during the deployment phase.

REX-Ray’s Docker Hub now has support for 5 platforms in the Docker 1.13 Managed Plugin System. This includes EBS, EFS, GCEPD, Isilon, S3FS, and ScaleIO. Other platforms supported by REX-Ray and libStorage will be added over time. Need a refresher on the Docker 1.13 Managed Plugin System? Watch this video:

New Storage Platform Support

REX-Ray continues to be the leading open source container storage orchestration engine. Open source, being the keyword, allows anyone to contribute storage drivers that provide effortless integration to Docker, Mesos, and Kubernetes.

The Amazon EFS driver was the first community-contributed driver and this release boasts two additional community-contributed drivers.

  Dan Norris, an Engineer at Digital Ocean, contributed the Digital Ocean Block Storage driver (codedellemc/libstorage#392) that allows persistent block storage to be attached to droplets. Big thanks to Dan for taking the effort to add Digital Ocean to the REX-Ray supported platform list.
Jack Huan, Co-Founder at FittedCloud, contributed the FittedCloud driver (codedellemc/libstorage#408) that implements thin-provisioned EBS volumes. Read more at FittedCloud AWS EBS Optimizer for Docker Containers. The inclusion of FittedCloud gives users a way to continue using AWS EBS and save money going forward. Thanks Jack!

As mentioned earlier, the engineering work to automate REX-Ray’s test, build, and deploy process opens the window for additional features. The core team also added support for two new platforms and re-introduced support for another.

 Google Compute Engine Persistent Disks were supported with REX-Ray up until v0.4. The arrival of the libStorage framework required refactoring many drivers and this release of REX-Ray re-introduces support for attaching Disks to Google Compute Engine hosts (codedellemc/libstorage#394). This marks another major milestone for the inclusion of Google into libStorage.
Microsoft Azure Unmanaged disks (codedellemc/libstorage#421) makes its debut in 0.8. All VM disks are stored as blobs and can support premium and standard storage accounts. One caveat worth noting is performing a volume attach or detach can take, on average, 2-3 times longer than other supported drivers.
The S3FS Fuse driver (codedellemc/libstorage#409) introduces support for mounting S3 buckets as Linux file systems via FUSE. This brings compatibility for S3 storage platforms such as Amazon S3, Google Cloud Storage, Minio, Cleversafe, Dell EMC ECS, and other S3-based object stores. The S3FS storage driver does not need to deployed or used by an EC2 instance, but can be run in any type of environment, either on-prem or in the cloud.

It’s all in the docs

Documentation is a cornerstone of being able to effectively use a project. The team is working hard to clean up REX-Ray’s documentation, making it easier to read and detailing many corner-case scenarios.

Back in January, we introduced FlexREX with Kubernetes. This incremental feature was added as a way to provide Kubernetes support while also working on a much broader vision. Documentation for FlexREX provides integration details and includes examples of persistent volumes, persistent volume claims and pods. With the brand new supported functionality of the Managed Docker Plugin System, documentation had to be added. Learn how to use each of the supported storage platforms with Docker’s new service.

Lastly, a new troubleshooting section has been added for things like Configuration Validation, REX-Ray service errors, and how to set logs to debug mode.

What’s Next?

This release of REX-Ray was one of the largest to date. We’re excited to see the involvement from the community and the growing adoption of REX-Ray as the trusted storage orchestrator for container schedulers. The next phase of this journey is 0.9 and you can follow along with the milestone tracking. Get involved and maybe even you can have a hand-crafted thank you note from our devs.