StorageOS
StorageOS
by StorageOS

Version 1.5.1

KUBERNETESSTORAGE

Description

StorageOS is a cloud native, software-defined storage platform that transforms commodity server or cloud based disk capacity into enterprise-class persistent storage for containers. StorageOS is ideal for deploying databases, message busses, and other mission-critical stateful solutions, where rapid recovery and fault tolerance are essential.

The StorageOS Operator installs and manages StorageOS within a cluster. Cluster nodes may contribute local or attached disk-based storage into a distributed pool, which is then available to all cluster members via a global namespace.

Volumes are available across the cluster so if a container gets moved to another node it has immediate access to re-attach its data. Data can be protected with synchronous replication. Compression, caching, and QoS are enabled by default, and all volumes are thinly-provisioned. No other hardware or software is required.

StorageOS is free to use up to 50GB of presented storage, increasing to 500GB after registration. For additional capacity and support plans contact sales@storageos.com.

Supported Features

  • Rapid volume failover - If a container gets re-scheduled to another node, any StorageOS volumes can be re-attached immediately, irrespective of where the data is located within the cluster.
  • Data Locality - Application workloads are automatically placed on nodes that have a local copy of the application data. This improves application perfomance by reducing latency.
  • Data protection - Data is replicated synchronously, up to 6 copies.
  • Block checksums - Each block is protected by a checksum which automatically detects any corruption of data in the underlying storage media.
  • Thin provisioning - Only consume the space you need in a storage pool.
  • Data reduction - Transparent inline data compression to reduce the amount of storage used in a backing store as well as reducing the network bandwidth requirements for replication.
  • In-memory caching - Speed up access to data even when accessed remotely.
  • Quality of service - Prioritize data traffic and address the “noisy neighbors” problem.
  • Flexible configuration - Use labels to automate data placement and enforce data policy such as replication. Ideal for compliance and infosec teams to enforce policies and rules while still enabling self-service storage by developers and DevOps teams.
  • Access control - Support multiple namespace – individual users are permissioned to specific storage namespaces.
  • Observability & instrumentation - Log streams for observability and Prometheus support for instrumentation.
  • Deployment flexibility - Scale up or scale out storage based on application requirements. Works with any infrastructure – on-premises, VM, bare metal or cloud.
  • Small footprint - Lightweight container requires minimum 1 core with 2GB of RAM. Runs in user-space on any 64-bit Linux with no custom kernel modules.

Prerequisites

  • Ensure port 5705 is open on the worker nodes.

Required Parameters

  • secretRefName - the name of a secret that contains two keys for the apiUsername and apiPassword to be used as api credentials (documentation)
  • secretRefNamespace - the namespace where the api credentials secret is stored

About StorageOS

StorageOS gives users total control of their own storage environment – whether in the cloud or on-premises. Our customers take advantage of storage on any platform while maintaining full control of business requirements around availability, data mobility, performance, security, data residency compliance and business continuity.

Software Included

Getting started after deploying StorageOS

After you have downloaded your kube config file, and are able to successfully connect to your DigitalOcean Kubernetes cluster (see https://cloud.digitalocean.com/kubernetes/clusters/ if you haven’t connected to your cluster) follow the instructions below to start using StorageOS.

Web Console

By default the Web Console is not exposed outside the cluster. To access it from your workstation, setup a port forward then access it locally:

kubectl --namespace kube-system port-forward svc/storageos 5705
google-chrome http://localhost:5705

The default username is "admin" and a unique password is generated during install. To discover the password, locate it in the Kubernetes console, or run:

kubectl get secret storageos-api --template={{.data.apiPassword}} | base64
--decode

Once you have logged into the console, we recommend that you create a new admin account for yourself in the Access Management section.

Deploy an application

In-depth examples can be found in the StorageOS Use Case documention.

API Creation

In addition to creating StorageOS via the control panel, you can also use the DigitalOcean API.

As an example, to create a 3 node DigitalOcean Kubernetes cluster made up of Basic Droplets in the SFO2 region, you can use the following curl command. You’ll need to either save your API access token to an environment variable or substitute it into the command below.


  curl -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer '$TOKEN'" -d \
      '{"name": "choose-a-name","region": "sfo2","version": "1.17.5-do.0","node_pools": [{"size": "s-1vcpu-2gb","count": 3,"name": "choose-a-name"}]}' \
      "https://api.digitalocean.com/v2/kubernetes/clusters"
      

Support Details

Hours:UK business hours (9am-6pm BST)
Support URL:https://slack.storageos.com/
Support Email:support@storageos.com

More DigitalOcean Links

DigitalOcean Community

Developers supporting developers

Ask a Question

Ask anything related to system administration, programming, devops, open source, or the DigitalOcean platform.

List your 1-Click App in the DigitalOcean Marketplace

Partner with us to build traction for your open source project or software company