openebs - containerized storage for containers

13
OpenEBS Containerized storage for containers Containerization Meet, Digital Ocean, Bangalore 14-January-2017 @uma_mukkara @openebs

Upload: umasankar-mukkara

Post on 12-Apr-2017

194 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: OpenEBS  - Containerized Storage for Containers

OpenEBSContainerized storage for containers

Containerization Meet, Digital Ocean, Bangalore14-January-2017

@uma_mukkara@openebs

Page 2: OpenEBS  - Containerized Storage for Containers

Persistent storage is a need for stateful applications in containers

Storage should be always available (yes, always)

Scalable, flexible, software defined

Hybrid cloud is a reality (Multiple clouds and a Data center in your IT). Block storage but backup to S3

Orchestration of storage volumes at large scale (10,000 + ) (provisioning, scheduling among tiers, hosts, migration, backup, restore, upgrade)

Storage requirements in Container world

Page 3: OpenEBS  - Containerized Storage for Containers

Infrastructure and containerization

Compute

Networking

Storage

Containerized

Towards containerization ?

Towards containerization

Page 4: OpenEBS  - Containerized Storage for Containers

Why containerization of storage?

Applications

Persistent storage volumes

Page 5: OpenEBS  - Containerized Storage for Containers

Why containerization of storage?

Applications

Persistent storage volumes

Upgrade each app (relaunch container).. One by one

Storage upgrade ?Volumes are part of monolithic storage

Page 6: OpenEBS  - Containerized Storage for Containers

Why containerization of storage?

Applications

Persistent storage volumes

Upgrade each app (relaunch container).. One by one

Storage volumes are containerized

● Storage functionality in userspace

Page 7: OpenEBS  - Containerized Storage for Containers

Containerized storage

Monolithic Storage Kernel

iSCSI Software

A

Replication

SnapshotEncryption

B

QoS&

MgmtC

volume1

volume2

Containerized Storage Kernel

(OpenEBS)

volume1

Storage Container

VSM 1

SoftwareA, B, C

volume2

Storage Container

VSM 2

SoftwareA’, B’, C

Storage software is same for all

volumes

Page 8: OpenEBS  - Containerized Storage for Containers

OpenEBS Building blocks and integration

For provisioning Exposes EBS API

Building blocks

Integration

Page 9: OpenEBS  - Containerized Storage for Containers

OpenEBS - Containerized storageTruly non disruptive storage upgrades, at volume level

Easy provisioning and connectivity via k8s (storage volume is part of k8s pod yaml config file)

Easy connectivity via k8s (OpenEBS exposes AWS EBS API, connect from k8s via “awsElasticBlockStore” API )

Tier-to-anything caching. Can serve the block storage from remote storage with high performance

Page 10: OpenEBS  - Containerized Storage for Containers

OpenEBS - StatusStarted in late 2016

Alpha state, github already has the working elements (Maya-Storage scheduler, storage containerization using docker)

Currently hacking EBS API, Snap/restore to S3, flannel type networking integration

Launched “Bangalore OpenEBS Meetup” groupFirst meetup is on “25th January, 6 PM”

Hiring Go warriors, k8s enthusiasts, network and file system experts, linux hackers. Contribute to design and code.

Page 11: OpenEBS  - Containerized Storage for Containers

Remote Storage

Local Storage

OpenEBS Storage Hosts

Data

StorageDriver

HTTPS(manage)

Overview & TerminologyK8s master

K8s minions

OpenEBS Maya master

OpenEBS VSMs / Storage Pod

Pod

Network (Flannel*)

Network (Flannel)

Page 12: OpenEBS  - Containerized Storage for Containers

VSM - Storage in Containers

Local Disks

NAS or SAN Cloud Storage

NVMe Flash

Maya Storage Orchestrator

Backend Containers to Persist Data (Cached, Protected)

Frontend ContainersVSM / Storage Pod

OpenEBS Storage Hosts

Storage

Data (iSCSI/TCMU)

Container (Docker)

Inline Replication

Multiple Storage Backends

Page 13: OpenEBS  - Containerized Storage for Containers

blog.openebs.io

https://github.com/openebs

Join the community

#slackslack.openebs.i

o

@openebs