rexray

command module
v0.10.0-rc3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2017 License: Apache-2.0 Imports: 30 Imported by: 0

README

REX-Ray GoDoc Build Status Go Report Card codecov.io Download

REX-Ray provides a vendor agnostic storage orchestration engine. The primary design goal is to provide persistent storage for Docker, Kubernetes, and Mesos.

It is additionally available as a Go package, CLI tool, and Linux service which enables it to be used for additional use cases.

Documentation Docs

You will find complete documentation for REX-Ray at rexray.readthedocs.org, including licensing and support information. Documentation provided at RTD is based on the latest stable build. The /.docs directory in this repo will refer to the latest or specific commit.

Architecture

REX-Ray is available as a standalone process today and as a distributed model of client-server. The client performs a level abstraction of local host processes (request for volume attachment, discovery, format, and mounting of devices) while the server provides the necessary abstraction of the control plane for multiple storage platforms/

Storage Provider Support

The following storage providers and platforms are supported by REX-Ray.

Provider Storage Platform(s)
Amazon EC2 EBS, EFS, S3FS
Ceph RBD
Dell EMC ScaleIO, Isilon
DigitalOcean Block Storage
FittedCloud EBS Optimizer
Google GCE Persistent Disk
Microsoft Azure Unmanaged Disk
OpenStack Cinder
VirtualBox Virtual Media
Operating System Support

The following operating systems are supported by REX-Ray:

Operating System Command Line Service
CentOS 7 Yes Yes
CoreOS Yes Yes
RHEL 7 Yes Yes
Ubuntu 14+ Yes Yes

Installation

The following command will install the REX-Ray client-server tool. If using CentOS, Debian, RHEL, or Ubuntu the necessary service manager is used to bootstrap the process on startup

curl -sSL https://dl.bintray.com/emccode/rexray/install | sh -

Runtime - CLI

REX-Ray can be run as an interactive CLI to perform volume management capabilities.

$ export REXRAY_SERVICE=ebs
$ export EBS_ACCESSKEY=access_key
$ export EBS_SECRETKEY=secret_key
$ rexray volume ls
ID            Name  Status    Size
vol-6ac6c7d6        attached  8

Runtime - Service (Docker)

Additionally, it can be run as a service to support Docker, Mesos, and other platforms that can communicate through HTTP/JSON.

$ export REXRAY_SERVICE=ebs
$ export EBS_ACCESSKEY=access_key
$ export EBS_SECRETKEY=secret_key
$ rexray service start
Starting REX-Ray...SUCCESS!

  The REX-Ray daemon is now running at PID XX. To
  shutdown the daemon execute the following command:

    sudo /usr/bin/rexray stop

$ docker run -ti --volume-driver=rexray -v test:/test busybox
$ df -h /test

Runtime - Docker Plugin

Starting with Docker 1.13, Docker now supports a new plugin architecture in which plugins can be installed as containers.

$ docker plugin install rexray/ebs EBS_ACCESSKEY=access_key EBS_SECRETKEY=secret_key
Plugin "rexray/ebs:latest" is requesting the following privileges:
 - network: [host]
 - mount: [/dev]
 - allow-all-devices: [true]
 - capabilities: [CAP_SYS_ADMIN]
Do you grant the above permissions? [y/N] y
latest: Pulling from rexray/ebs
2ef3a0b3d192: Download complete
Digest: sha256:86a3bf7fdab857c955d7ef3fb94c01e350e34ba0f7fd3d0bd485e45f1592e1c2
Status: Downloaded newer image for rexray/ebs:latest
Installed plugin rexray/ebs:latest

$ docker plugin ls
ID                  NAME                   DESCRIPTION              ENABLED
450420731dc3        rexray/ebs:latest      REX-Ray for Amazon EBS   true

$ docker run -ti --volume-driver=rexray/ebs -v test:/test busybox
$ df -h /test

Documentation

Overview

REX-Ray is a container storage orchestration engine that enables persistence for cloud-native workloads.

Directories

Path Synopsis
csi
cli
Package libstorage provides a vendor agnostic storage orchestration model, API, and reference client and server implementations.
Package libstorage provides a vendor agnostic storage orchestration model, API, and reference client and server implementations.
api/registry
Package registry is the central hub for Drivers and other types that follow the init-time registration.
Package registry is the central hub for Drivers and other types that follow the init-time registration.
api/utils/filters
Package filters is a piece of thievery as the LDAP filter parsing code was lifted serepticiously from https://github.com/tonnerre/go-ldap/blob/master/ldap.go.
Package filters is a piece of thievery as the LDAP filter parsing code was lifted serepticiously from https://github.com/tonnerre/go-ldap/blob/master/ldap.go.
drivers/os/linux
Package linux is the OS driver for linux.
Package linux is the OS driver for linux.
Package scripts includes scripts that are embedded in REX-Ray during the build process that is driven by the make file.
Package scripts includes scripts that are embedded in REX-Ray during the build process that is driven by the make file.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL