Storage

& Kubernetes

for everyone

Ryan Wallner

Technical Evangelist, ClusterHQ

@RyanWallner : ryan@clusterhq.com

Ryan Wallner

Technical Evangelist

@ryanwallner

Avid outdoorsman, works in tech.

Goals for this Talk

  • ​​Containers / Persistence
  • Volumes / Docker Volumes
  • Kubernetes Volumes
  • Demo
  • Q/A

Container

  • Container = Process and Resource Isolation
  • Linux Process (think of as light weight app vm)
  • Does not need a hypervisor, shares a linux kernel
  • Enables new architectures such as Microservices

"Stateful" Container

  • Secrets - public/private keys, password, etc
  • Data - databases, sharded, clustered etc.
  • Logs - to collect support bundles, run analytics for data mining, etc. 

"Stateless" Container

  • Nothing to Disk
  • Web Front-End
  • Can stop and start as many containers as you like
  • How http is stateless
  • Container is ephemeral

Container Volumes

  • Inside the container
    • ​docker image
    • ​ephemeral
  • Outside UFS
    • Docker (-v /myvol)
    • emptyDir (k8s)
  • Host Filesystem
    • Docker bind mounts (-v /tmp:/tmp)
    • hostPath (k8s)
  • Shared/External
    • Docker --volume-driver= 
    • Flocker (k8s,docker,mesos)
    • gcePersistentDisk (k8s)

Kubernetes Volumes

  • emtpyDir
  • hostPath
  • gcePersistentDisk
  • awsElasticBlockStore
  • nfs
  • iscsi
  • flocker
  • rbd
  • glusterfs
  • secret
  • persistentVolumeClaim
  • gitrepo
  • downwardAPI

Kubernetes Volumes

  • emtpyDir
    • ​temporary
  • hostPath
    • ​bind mounts
    • on host, in container
    • doesn't scale
  • gcePersistentDisk
    • ​standard or SSD
    • can be RO across PODS
  • awsElasticBlockStore
    • ​EBS for you POD
  • nfs
    • ​Share must exist
    • sync-and-share usecases
  • gitrepo
    • ​auto clone repo to POD
  • downwardAPI
    • ​writes requested data to text files in POD

Kubernetes

FLocker Volumes

  • Flocker​ (https://docs.clusterhq.com/en/latest/)

    • Manages - data volume lifecycle

    • Enables - Container + volume: atomic

    • Migrates - data volumes across hosts

    • Works - using container orchestrators 

  • Pluggable
    • Amazon EBS

    • EMC

    • VMWare

    • NetApp

    • Huawei

    • OpenStack Cinder

    • Dell

    • Hedvig

    • Saratoga Speed

    • Nexenta

    • Ceph 

Demo

Orchestration

Scheduling

Networking

Service Discovery

Purpose Built OS

Security

Built-in Tooling

(docker, etcd, flannel, fleet)

Docker Volume Management

 Automation

Mobility

Resiliency

Flexibility

1st Class Volumes

Reliability (mostly)

Public Cloud

Availability

What's In the stack?

https://github.com/wallnerryan/kube-aws-flocker

Example Application

http://kubernetes.io/v1.1/examples/guestbook-go/README.html

 

high availability

THANK YOU

Thanks to Digital Ocean

www.clusterhq.com

www.clusterhq.com/blog

 

We're Hiring!

www.clusterhq.com/careers/

 

@RyanWallner

Ryan@clusterhq.com

@clusterhq

More Info.

"High availability for you data with Kubernetes, Flocker and CoreOS"

By Ryan Wallner

"High availability for you data with Kubernetes, Flocker and CoreOS"

  • 3,557