Professional Documents
Culture Documents
Kubernetes Meetup Lajuly20 170720094132
Kubernetes Meetup Lajuly20 170720094132
Kubernetes LA Meetup
July 18, 2017
@OpenEBS
Evan Powell - @epowell101
Who?
CloudByte is the pre-existing SDS brand. Joined as CloudByte / Open EBS CEO 7/1/17
What if storage for
container native
applications was itself
container native?
✓ Intent inherited
✓ Scale w/o bottlenecks
stateless stateful
stateless stateful
High Availability
Provisioners
stateful
Attach/Detach Controllers
Vendor Lock-in, Cross cloud
CNCF/CSI
Monolithic!, Microservices
Any Server, Any Cloud
Slow Upgrades, Seamless
Containerized storage for containers Upgrades
Storage Orchestration - K8s Vs OpenEBS
Functionality K8s OpenEBS
Volume Life-cycle - provisioning, attaching/detach, de-provisioning X
Availability of volume X
K8s takes care of connecting applications to stateful storage. OpenEBS answers the other persistent storage questions
Storage just fades away as a concern
How is OpenEBS built ?
is built using
Storage containerization
(Control plane)
Deep storage operations Smart Capacity Management
is built into (OpenEBS “Maya”)
Volume Latency Monitoring and Auto-healing
Adapt to varying workloads - Application Aware Storage (Pods)
AWS EBS Like APIs
Storage Analytics
(Data Plane)
Containerized volumes
Thin and scalable block storage
Core Storage features is built into (OpenEBS) Enterprise HA
Intelligent QoS
Smart Tiering for higher performance
Architecture: Kubernetes
Minion Minion Minion
POD POD POD POD POD POD POD POD POD
Container Container Container Container Container Container Container Container Container
Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet
etcd Cntrl
APIs
K8S Master Schld
Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet Container
Kubelet
etcd Cntrl
APIs
K8S Master Schld
Duration of run
~6,700 years
Source: Alex Aizman’s blog: https://storagetarget.com/author/alexaizman/
More benefits of Cloud Native approach
OpenEBS always available multi-cloud block services are delivered via containerized microservices
✓ Granularity: Each pod has its own block protocol stack, tiering engine, QoS engine and more. SLAs per POD.
✓ Performance & efficiency: access patterns maintained per-volume. Hot-data on NVMe-Flash or on 3DX-Memory. Cold-
data on slower disks / SAN/ Cloud-Storage/S3.
✓ Scalability: Metadata based on “size of the volume” & not on “number of volumes”. Can reduce metadata traversal 100x.
And much, much more such as cost savings due to resource efficiency, innate multitenancy, and cross cloud portability
The Conway’s Law benefits might be the most important - innovation unlocked
✓ Scalbility - no metadata bottleneck
Application
Application
IO Blocks
The volume IO processing has to
deal with the global metadata of The volume IO processing has to
IO Blocks
8TB deal with the volume metadata of
100GB
Lun
Lun
IO Chunks
Metadata of the volume is
Logical Metadata is managed at managed at chunk level
IO Blocks
volumes block level Volume
Logical
100 GB
meta Volumes in XFS files
Meta
8 TB
Global Metadata at a system level Meta
2 TB
XFS Meta data XFS Meta data 2 TB
Meta Meta
100TB
Raw 100TB
Raw
Cluster Admin - Enabling OpenEBS on K8s
K8s master K8s minions
Step 1: Use can existing K8s Cluster or Launch a new Cluster
(locally or in your fav cloud provider or use stackpoint.io to
create a cluster.)
https://github.com/openebs/openebs/tree/master/k8s
Developer - Using OpenEBS PVs
K8s master K8s minions
Step 1: Checkout the StorageClasses available
kubectl get sc
http://<external-ip>:<port>/
https://github.com/openebs/openebs/blob/master/k8s/demo/jupyter/demo-jupyter-openebs.yaml
Admin’s interaction with OpenEBS
3
1 Storage classes
kubectl apply -f openebs-storageclasses.yaml
Central Repo
Install OpenEBS
2
Developer’s interaction with OpenEBS
- Data science developer
- Wants to set up a jupyter notebook (not an expert in storage)
kubectl get sc
Pod 1 VS Pod 1
OR
Join the
community
Q&A #slack
Slack.openebs.io
blog.openebs.io
@openebs
Join the
community
What do you think? #slack
Slack.openebs.io
https://github.com/openebs blog.openebs.io
@openebs
Join Us and contribute to Kubernetes
- Prioritized Replication
Networking/Storage
- Federated Clusters
- Analytics and ML Services
- CNCF/CSI
https://www.openebs.io/careers/