OpenAFS as Persistent Storage inside Kubernetes using Container - - PowerPoint PPT Presentation

openafs as persistent storage inside kubernetes using
SMART_READER_LITE
LIVE PREVIEW

OpenAFS as Persistent Storage inside Kubernetes using Container - - PowerPoint PPT Presentation

OpenAFS as Persistent Storage inside Kubernetes using Container Storage Interface plugin for OpenAFS Yadavendra Yadav T odd DeSantis OpenAFS WorkShop 2019 Pittsburgh, US Application Modernization Evolution of Container Agenda


slide-1
SLIDE 1

OpenAFS as Persistent Storage inside Kubernetes using Container Storage Interface plugin for OpenAFS

OpenAFS WorkShop 2019 Pittsburgh, US

Yadavendra Yadav T

  • dd DeSantis
slide-2
SLIDE 2

Agenda

  • Application Modernization
  • Evolution of Container
  • Container Storage
  • Container Storage Interface
  • OpenAFS CSI Plugin
  • Demo
slide-3
SLIDE 3

Monolithic

slide-4
SLIDE 4

M i c r

  • s

e r v i c e

slide-5
SLIDE 5

Introduction to Container Introduction to Container

slide-6
SLIDE 6

Containers and VMs Solve Different Problems

Containers is more light and better performance:

  • Portability: VM (Gigabytes) vs. Container (Megabytes), VMs are

constraint to Hypervisor and hardware-emulation

  • Performance: Containers can boot and restart in seconds, compared to

minutes for virtual machines. And no extra overhead of a hypervisor and guest OS makes containers consume less CPU and memory.

  • Management cost: Each VM requires a full functional operating system,

and then extra management for them. Standalone executable package of software with no overhead of OS.

Advantage to use containers:

  • Workload Isolation (less CPU/memory overhead and faster deployment than

VMs)

  • Resource limitations (cgroups can constrain containers’ memory and CPU usage)
  • Layered image architecture such that each change to the package is tracked
  • Great to use container in DevOps, Batch processing, SaaS, Microservices etc

Host Server

Host Operating System Hypervisor OS Bins/ Libs App1 OS Bins/ Libs App2 OS Bins/ Libs App3

Host Server

Host Operating System Container Engine Bins/ Libs App1 Bins/ Libs App2 Bins/ Libs App3 Virtual Machines Containers

Build once and Run anywhere

slide-7
SLIDE 7

Kubernete s Architectu re

slide-8
SLIDE 8

Containers are Ephemeral, Storage is Not

slide-9
SLIDE 9

Block, File and Object Storage

Block – Traditional storage is managed by OS i.e. LUN, DISK File –Unstructured data is managed with folders i.e. FILE SYSTEMS Object – Higher growth data is unstructured and managed by APPLICATIONS

Which Array/Volume/LUN Which Directory/ Subdirectory/Filer

slide-10
SLIDE 10

Container Storage

slide-11
SLIDE 11

Local Host Stora ge

slide-12
SLIDE 12

Host

Dedicated storage

Storage Applian ce Storage Applian ce

slide-13
SLIDE 13

Distribu ted File System Distribu ted File System

Host Distributed storage Hos t

slide-14
SLIDE 14

Kubernetes Container Storage

Persistent Volumes: A Persistent Volume (PV) is a piece of storage in the cluster that has been provisioned by an administrator. Persistent Volume Claim: A Persistent Volume Claim (PVC) is a request for storage by a user.

slide-15
SLIDE 15

1GB OpenAF S

pvc-72f93482-525d-x-x volume

OpenAFS ( File system)

OpenAFS Dynamic Volume Provisioner ( Create & Mount Volume)

Developer

claim claim

POD

Volume Bound

Create Volume

Provisione r

Mount

slide-16
SLIDE 16

Delete Applicati

  • n

pvc-72f93482-525d-x-x volume

OpenAFS ( File system)

OpenAFS Dynamic Volume Provisioner ( Unmount & Delete Volume)

Developer

Delete claim

claim

POD

Provisione r

Un-Mount

slide-17
SLIDE 17

Volume Lifecycle

slide-18
SLIDE 18

Container Storage Plugin

slide-19
SLIDE 19

Docker Volume Plugin Mesos Volume Plugin

K8s dynamic Provisioner K8s fmexvolume plugin K8s in-tree plugin

Persi

Container Storage Interface Container Storage Interface

slide-20
SLIDE 20

Container Storage Interface

slide-21
SLIDE 21

Container Storage Interface

slide-22
SLIDE 22

Container Storage Interface

slide-23
SLIDE 23

OpenAFS

kubele t kubele t kubele t

Worker Worker Worker Master 1GB OpenAF S User

Provisioner

AFS Plugin

kubectl

OpenAF S Volume AFS Plugin AFS Plugin

watch

1GB OpenAF S

Create Volume

OpenAFS PVC Creation

slide-24
SLIDE 24

OpenAFS

kubele t kubele t kubele t

Worker Worker Worker Master User AFS Plugin

kubectl

OpenAF S Volume AFS Plugin AFS Plugin

watch

Mount Volume

POD Creation

Create Pod

POD

slide-25
SLIDE 25

OpenAFS

kubele t kubele t kubele t

Worker Worker Worker Master User AFS Plugin

kubectl

OpenAF S Volume AFS Plugin AFS Plugin

watch

Unmount Volume

POD Deletion

Delete Pod

POD

slide-26
SLIDE 26
slide-27
SLIDE 27

Thank You

27