How to deploy StorageOS on Charmed Kubernetes

Kubernetes offers a range of storage solutions out of the box, but the majority of these are specific to cloud providers, for example, AWS or Google Cloud. This means that the options left for bare metal deployments are Ceph, NFS or local.

StorageOS is a newcomer to this area providing an easy to setup solution for storage in Charmed Kubernetes.” – said Tytus Kurek, Product Manager for Charmed Kubernetes at Canonical.

In this tutorial, you will learn how to deploy StorageOS operator in Charmed Kubernetes environment. We will also create an example workload that uses StorageOS based on WordPress and MySQL.

Prerequisites

Before we get started, we have to find ourselves a healthy Charmed Kubernetes cluster. If you do not have a Charmed Kubernetes cluster, you can refer to the following tutorial to spin up one in minutes. Charmed Kubernetes is a production-grade Kubernetes offering from Canonical which is fully compliant with the upstream project. Get Charmed Kubernetes right away and benefit from simplified deployments and operations provided by Juju charms.

How to deploy StorageOS on Charmed Kubernetes

How to deploy StorageOS

Deploying StorageOS in Charmed Kubernetes environment involves completing the following steps:

  • Install the StorageOS operator – deploy the StorageOS operator from GitHub
  • Create a secret for StorageOS – create an initial StorageOS user account
  • Deploy the daemon sets – deploy the StorageOS cluster.

Once completed, you can use StorageOS when creating persistent volume claims in Kubernetes.

As the whole process requires a bunch of manual steps, we decided to create a detailed tutorial that you can follow step-by-step to understand how to deploy StorageOS in Charmed Kubernetes environment.

Take The Tutorial

Conclusions

Using StorageOS allows you to easily set up a storage solution for Charmed Kubernetes which can be used in bare metal deployments. You can check out StorageOS’ documentation on how to take your newly learned skills and apply them to your Kubernetes clusters.

About: Blog