Simon Johnson, Engineering Director, Cloudian

One of the key features of Kubernetes is the ability to dynamically scale your pods to the workload demand.  These Pods are often self contained micro-services that have a specific job to do.  But what if you want equally convenient access to similarly isolated storage?  That’s just the problem the recently released Cloudian S3 Operator aims to solve!

Overview

The operator is derived from the open source aws-s3-provisioner and includes enhancements to ease deployment against Cloudian Hyperstore.  The operator works with currently shipping HyperStore software, and is usable simultaneously with existing S3 workloads.

The operator itself runs in a Kubernetes Pod and uses the HyperStore S3 and IAM management API as Pods are created and destroyed to provision and deprovision buckets as appropriate.  It supplies access details and credentials to Pods for immediate access to those buckets.

kubernetes s3 operator

Deployment

Like many things Kubernetes, the Cloudian S3 Operator is deployed with a few manageable chunks of YAML.

1. Administrative access to HyperStore

kubernetes code 1

2. Defining the storage class

kubernetes code 2

3. Defining the object bucket claim

kubernetes code 3

The actual deployment can be accomplished in just 3 simple steps.

1. Create the Object Bucket and Object Bucket Claim Custom Resource Definitions

kubernetes code 4
2. Deploy the S3 provisioner

kubernetes operator

3. Create owner secret

kubernetes codd 5

Once that’s done, you’re ready to start creating pods.

Features

The Cloudian S3 operator provides a lot of flexibility and features.  Here are just a few of them.

  1. Greenfield (new bucket per Pod) or Brownfield (Pods use existing buckets)
  2. Create multiple Storage Classes per HyperStore system
  3. Specify HyperStore storage policies for Greenfield buckets
  4. Create a new IAM user, or use pre-existing credentials
  5. Specify IAM policy documents
  6. Retention of Greenfield buckets
  7. Multiple Bucket Claims per Pod per Storage Class

Further reading

If you want to see this in action, head on over to YouTube to see Andrew Lee’s short video.

Take a look at our Quick Start guide if you’re ready to start using this.

Conclusion

We’ve seen how easy it can be to provision Cloudian Hyperstore storage with Kubernetes with different types and a variety of options.

The Kubernetes and object storage landscape continues to evolve, and Cloudian will be there to drive changes and support our customer needs in this area.

Get started with Cloudian Kubernetes S3 operator by accessing the repository on GitHub

Or, for more information visit: cloudian.com/solutions/storage-for-kubernetes/