OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers
-
Upload
openebs -
Category
Technology
-
view
10.544 -
download
0
Transcript of OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers
![Page 1: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/1.jpg)
Containerized Storage for Containers
Online Hangout - 18 May 2017@OpenEBS
![Page 2: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/2.jpg)
Agenda
OpenEBS Overview
OpenEBS Project Updates
Demo - K8s 1.6 - Sandbox Setup
Demo - OpenEBS Playbooks
Q/A
![Page 3: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/3.jpg)
Nevermind, how do I play with it?
wget https://raw.githubusercontent.com/openebs/openebs/master/k8s/lib/vagrant/test/k8s/1.6/Vagrantfile
vagrant up
K8s master K8s minions
https://github.com/openebs/openebs/tree/master/k8s/lib/vagrant/test/k8s/1.6
![Page 4: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/4.jpg)
What is OpenEBS ?
➔ OpenEBS is containerized storage for containers
➔ OpenEBS solves the persistent storage issue for containers
Legacy
storage
X
Application
Pod
★ Application pod management
automatically takes care of storage
volume management
![Page 5: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/5.jpg)
Containerized storage - Easy upgrades
Monolithic Storage Kernel
iSCSI Software
A
ReplicationSnapshot
EncryptionB
QoS&
MgmtC
volume1
volume2
Containerized Storage Kernel
(OpenEBS)
volume1
Storage ContainerVSM 1
SoftwareA, B, C
volume2
Storage ContainerVSM 2
SoftwareA’, B’, C
Storage software is same for all
volumes
![Page 6: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/6.jpg)
What is the vision ?
OpenEBS secures and serves
the data for dynamic container
based environments, making it
as easy and safe to run
persistent workloads on these
environments as it is to run
stateless workloads.
![Page 7: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/7.jpg)
Manifests express intent
K8S used with special care for apps requiring
persistence because they require brittle tight coupling.
Container 1 Container 2 Container 2
Hard wired connections via plug-in
stateless stateful
NAS SAN S3 NAS SAN S3
Without OpenEBS DevOps workflow is broken
![Page 8: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/8.jpg)
Manifests express intent
stateless stateful
No changes to DevOps workflow even for containers requiring
persistence. Users manifest their intent and the storage and
storage controllers adjust automatically as needed.
OpenEBSPolicy engine
Remote Storage
Local Storage
OpenEBS Storage Hosts
OpenEBS VSMs
OpenEBS Storage ClusterEBS
APIs
Containers and underlying storage,
local on host or dedicated storage
pods OR remote S3 or EBS storage
all grouped into a storage cloud that
just works. Billing by AWS.
Manifests express intent
With OpenEBS the workflow works
![Page 9: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/9.jpg)
DevOps operations with OpenEBS
OpenEBS got the storage ops off my back!
Because of OpenEBS we are rolling into
production.
![Page 10: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/10.jpg)
How is OpenEBS built ?Storage containerization
Storage orchestration
Deep storage operations
Core Storage features
is built using
is integrated with
is built into (OpenEBS Maya)
is built into (OpenEBS)
Smart Capacity Management Volume Latency Monitoring and Auto-healingAdapt to varying workloads - Application Aware Storage (Zones)AWS EBS Like APIsStorage Analytics!
Enterprise HA Intelligent QoSDistributed Scaleout Smart Tiering for higher performance
![Page 11: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/11.jpg)
Introduction to the OpenEBS team
2008 20162012 2017
![Page 12: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/12.jpg)
Why this team?
CloudByte ElastiStor
Enterprise Storage Servers! ( SAN/NAS ) Containerized storage &
Enterprise QoS
Team :
● Deep storage Experience
● Deep DevOps Experience
● Done 100s of production
storage upgrades in the
field
Disk Management Layer
Core Storage Features
HA/Multipath Layer
Provisioning/SDS
S
C
A
L
E
P
E
R
F
O
R
M
A
N
C
E
Multi Tenant and RBAC
Monitoring/Alerting
QoS
![Page 13: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/13.jpg)
Typical deployment
workflow
![Page 14: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/14.jpg)
Typical OpenEBS Workflow - 1
K8s master K8s minions
1. Start with an existing or new K8s Cluster
![Page 15: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/15.jpg)
Typical OpenEBS Workflow - 2
K8s master K8s minions
2. Download and Apply OpenEBS Operator
1. Start with an existing or new K8s Cluster
![Page 16: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/16.jpg)
Typical OpenEBS Workflow - 3
K8s master K8s minions
2. Download and Apply OpenEBS Operator
1. Start with an existing or new K8s Cluster
3. OpenEBS Maya Services are Launched
![Page 17: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/17.jpg)
Typical OpenEBS Workflow - 4
K8s master K8s minions Application Pod (with OpenEBS FlexVolume)
2. Download and Apply OpenEBS Operator
1. Start with an existing or new K8s Cluster
3. OpenEBS Maya Services are Launched
4. Define in application yaml to use OpenEBS Storage
![Page 18: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/18.jpg)
Typical OpenEBS Workflow - 5
K8s master K8s minions Application Pod (with OpenEBS FlexVolume)
2. Download and Apply OpenEBS Operator
1. Start with an existing or new K8s Cluster
3. OpenEBS Maya Services are Launched
4. Define in application yaml to use OpenEBS Storage
5. (VSM) Storage Containers are Launched and Storage is mounted.
Data
![Page 19: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/19.jpg)
Typical OpenEBS Workflow - 6
K8s master K8s minions Application Pod (with OpenEBS FlexVolume)
2. Download and Apply OpenEBS Operator
1. Start with an existing or new K8s Cluster
3. OpenEBS Maya Services are Launched
4. Define in application yaml to use OpenEBS Storage
5. (VSM) Storage Containers are Launched and Storage is mounted.
Data
iSCSI
6. Application is launched consuming OpenEBS Storage
![Page 20: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/20.jpg)
OpenEBS Summary
![Page 21: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/21.jpg)
OpenEBS - Word of mouth
Containerized storage for containers
Calico / Flannel owns networking for K8S. OpenEBS owns
storage.
The only open source solution built for this. CEPH is not built
to be containerized.
I run (use) OpenEBS just like I run (use) K8S (EBS).
OpenEBS got the storage ops off my back! Because of OpenEBS
we are rolling into production.
![Page 22: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/22.jpg)
K8s 1.6 SandBox Demo
Quickly Setup K8s 1.6
Vagrant and VirtualBox
Ubuntu 16.04
Configured with Weave and OpenEBS
![Page 23: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/23.jpg)
DevOps Workflow requires Sandbox
Checkout
CI
Deploy
Modify Code
Run in Sandbox
Validate
Commit
![Page 24: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/24.jpg)
K8s SandBox for DevOps
K8s master K8s minions
1. Multi-node k8s cluster for testing - HA/Scalability aspects
2. Configured with the choice of Networking and Storage
3. Ability to recreate setup with required versions (locally or cloud)
![Page 25: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/25.jpg)
Setting up Kubernetes
minikube kubeadm
Laptop CloudOn-premise
GCE
ACSIBM BCS
AWS EC2
CenturyLink
conjure kargo
20+ options minishift
openshiftkubeadm
![Page 26: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/26.jpg)
Setting up Kubernetes with kubeadm
1. Setup Master 2. Configure Networking 3. Join Nodes
kubeadm init kubectl apply -- kubeadm join
Install out-of-tree
plugins
Gets the Latest from
repositories, which
may not be
compatible
Huge Network
Dependency
May require some tweaks
based on the plugins
Maintaining the version
compatibility with other nodes
Plugins may require additional
s/w packages installed
![Page 27: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/27.jpg)
Kubernetes - Versioning / Compatibility
APIs and Features in K8s : - v1alpha, v1beta, v1- v2alpha, v2beta, v2
kubernetes changes :- more secure - API server accessible only on 6443- On kubelet, volume attach/detach controller is default option for storage- FlexVolume (mentioned as alpha) is not backward compatible..- Dependency on nslookup of localhost
kubeadm changes : - kubeadm init options : --api-advertise-addresses, --kubernetes-version
- kubeadm join token is stored in secrets (not in cluster info)
![Page 28: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/28.jpg)
Multi-node Kubernetes Sandbox
wget https://raw.githubusercontent.com/openebs/openebs/master/k8s/lib/vagrant/test/k8s/1.6/Vagrantfile
vagrant up
K8s master K8s minions
https://github.com/openebs/openebs/tree/master/k8s/lib/vagrant/test/k8s/1.6
![Page 29: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/29.jpg)
Kubernetes - Boxes
![Page 30: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/30.jpg)
Creating new Kubernetes Boxes
![Page 31: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/31.jpg)
Step by step “storage provisioning”
Placeholder for step by step
BOX 1: First thanks to X we get the environment up and running. If you already have the
environment, you may not need this.
BOX 2: Let’s walk around the environment. Similar to slide 33 (Demo set-up).
BOX 3: Let’s check in some YAML that shows that k8s pod definition requires more storage
BOX 4: Checked in and see it now requesting.
BOX 5: Now serving storage
![Page 32: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/32.jpg)
Step by step “behavior under load”
Placeholder for step by step
BOX 1: First thanks to X we get the environment up and running. If you already have the
environment, you may not need this.
BOX 2: Let’s walk around the environment. Similar to slide 33 (Demo set-up).
BOX 3: Let’s create some load (again show how)
BOX 4: Let’s break it! (show how we kill containers and yet workload continues).
![Page 33: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/33.jpg)
Creating new Kubernetes Boxes
![Page 34: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/34.jpg)
Pod Yaml - Stateful App
Demo - Setup
HTTPS
K8s master
K8s minions
FlexVolume
(OpenEBS Driver)
OpenEBS Maya
MasterOpenEBS Storage Hosts
OpenEBS VSMs / Storage Pod iSCSI/Data
![Page 35: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/35.jpg)
OpenEBSProject Updates
OpenEBS 0.2 Released
OpenEBS 0.3 Updates
Other Updates...
![Page 36: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/36.jpg)
OpenEBS 0.2 ( Released! )https://github.com/openebs/openebs/releases/tag/v0.2
(Beta) Integrated with Kubernetes
(Beta)High Availability via Sync Replication
(Beta) Block Storage (available via iSCSI)
(Alpha) Data Protection ( Local Snapshots )
(Alpha) Data Backup with Amazon S3
![Page 37: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/37.jpg)
OpenEBS 0.3 ( In-Progress )https://github.com/openebs/openebs/wiki/Project-Tracker
OpenEBS Hyper-converged with Kubernetes 1.6
Support for adding additional disks as block-data-stores
Implement CI for running automated storage high-availability tests.
Provide usage examples for running Percona/MySQL and ElasticSearch Apps on OpenEBS Storage
Support for running on Fedora, CentOS
![Page 38: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/38.jpg)
Other Updates...
Evan Powell presented a talk on state of storage and OpenEBS at (http://storageconference.us/)
Co-hosting Golang Meetup in Bangalore
OpenEBS on Quora (https://www.quora.com/topic/OpenEBS )
Exploring ways to improve productivity for operations and developers:
OpenStack Kolla on K8s and OpenEBS
Running Data Science notebooks on K8s and OpenEBS
We are hiring!!!
![Page 39: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/39.jpg)
Building On-premise EBS
Demo
Using Ansible and OpenEBS
Convert bare-metal hosts or VMs
into Storage Nodes
Demo - Consuming EBS-Like storage
for Docker Application
![Page 40: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/40.jpg)
Building On-premise EBS-Like Solution
EBS - Like Storage
Build EBS-Like Storage Solution on premise using BareMetal
VMs or Hosts connected with storage disks.
OpenEBS
Maya
Master
OpenEBS Storage Hosts
Installation and Provisioning automated via Ansible
![Page 41: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/41.jpg)
OpenEBS Playbooks Overview
![Page 42: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/42.jpg)
OpenEBS Playbooks - Demo
Used for OpenEBS end-to-end
testing.
Automatically Generate the inventory
(hosts files)
Setup OpenEBS Storage using ESX
VMs
Provision Storage for a Container
running IO Meter.
![Page 43: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/43.jpg)
Q&A
Join the community
#slackSlack.openebs.io
blog.openebs.io
@openebs
![Page 44: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/44.jpg)
We have reached the End of the hangout !
Thank you for joining us !
See you at the next hangout !
![Page 45: OpenEBS hangout#1 - Introduction to OpenEBS , an opensource containerized storage for containers](https://reader034.fdocuments.in/reader034/viewer/2022050613/5a64b3e37f8b9a88148b4799/html5/thumbnails/45.jpg)
What do you think?
https://github.com/openebs
Join the community
#slackSlack.openebs.io
blog.openebs.io
@openebs