openebs - containerized storage for containers
TRANSCRIPT
OpenEBSContainerized storage for containers
Containerization Meet, Digital Ocean, Bangalore14-January-2017
@uma_mukkara@openebs
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
Infrastructure and containerization
Compute
Networking
Storage
Containerized
Towards containerization ?
Towards containerization
Why containerization of storage?
Applications
Persistent storage volumes
Why containerization of storage?
Applications
Persistent storage volumes
Upgrade each app (relaunch container).. One by one
Storage upgrade ?Volumes are part of monolithic storage
Why containerization of storage?
Applications
Persistent storage volumes
Upgrade each app (relaunch container).. One by one
Storage volumes are containerized
● Storage functionality in userspace
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
OpenEBS Building blocks and integration
For provisioning Exposes EBS API
Building blocks
Integration
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
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.
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)
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
blog.openebs.io
https://github.com/openebs
Join the community
#slackslack.openebs.i
o
@openebs