openafs as persistent storage inside kubernetes using
play

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


  1. OpenAFS as Persistent Storage inside Kubernetes using Container Storage Interface plugin for OpenAFS Yadavendra Yadav T odd DeSantis OpenAFS WorkShop 2019 Pittsburgh, US

  2. • Application Modernization • Evolution of Container Agenda • Container Storage • Container Storage Interface • OpenAFS CSI Plugin • Demo

  3. Monolithic

  4. M i c r o s e r v i c e

  5. Introduction to Container Introduction to Container

  6. Containers and VMs Solve Different Problems Containers is more light and better performance: App1 App2 App3 • Portability : VM (Gigabytes) vs. Container (Megabytes), VMs are constraint to Hypervisor and hardware-emulation Bins/ Bins/ Bins/ • Performance : Containers can boot and restart in seconds, compared to App1 App2 App3 Libs Libs Libs minutes for virtual machines. And no extra overhead of a hypervisor and guest OS makes containers consume less CPU and memory. Bins/ Bins/ Bins/ OS OS OS • Management cost : Each VM requires a full functional operating system, Libs Libs Libs and then extra management for them. Standalone executable package of software with no overhead of OS. Hypervisor Container Engine Advantage to use containers: Host Operating System Host Operating System • Workload Isolation (less CPU/memory overhead and faster deployment than VMs) Host Server Host Server • Resource limitations (cgroups can constrain containers’ memory and CPU usage) • Layered image architecture such that each change to the package is tracked Virtual Machines Containers • Great to use container in DevOps, Batch processing, SaaS, Microservices etc Build once and Run anywhere

  7. Kubernete s Architectu re

  8. Containers are Ephemeral, Storage is Not

  9. Block, File and Object Storage Block – Traditional storage is managed by OS i.e. LUN, DISK Which Array/Volume/LUN File –Unstructured data is managed with folders i.e. FILE SYSTEMS Which Directory/ Subdirectory/Filer Object – Higher growth data is unstructured and managed by APPLICATIONS

  10. Container Storage

  11. Local Host Stora ge

  12. Storage Storage Host Applian Applian ce ce Dedicated storage

  13. Distribu Distribu Hos Host ted File ted File t System System Distributed storage

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

  15. OpenAFS Dynamic Volume Provisioner ( Create & Mount Volume) 1GB OpenAF Mount S Developer claim POD claim Provisione r Create Volume Volume Bound pvc-72f93482-525d-x-x volume OpenAFS ( File system)

  16. OpenAFS Dynamic Volume Provisioner ( Unmount & Delete Volume) Delete Applicati Un-Mount on Delete Developer POD claim claim Provisione r pvc-72f93482-525d-x-x volume OpenAFS ( File system)

  17. Volume Lifecycle

  18. Container Storage Plugin

  19. K8s dynamic Provisioner Mesos Volume Docker Volume K8s fmexvolume Plugin Plugin Persi plugin K8s in-tree plugin Container Storage Interface Container Storage Interface

  20. Container Storage Interface

  21. Container Storage Interface

  22. Container Storage Interface

  23. OpenAFS PVC Creation Provisioner watch Worker Create Worker Worker Volume AFS 1GB AFS AFS OpenAF Plugin Plugin Plugin kubele kubele S kubele Master t t t OpenAF S Volume kubectl OpenAFS 1GB OpenAF S User

  24. POD Creation Worker Worker POD Worker AFS AFS AFS Plugin Plugin Plugin kubele kubele Mount kubele Master Volume t t t OpenAF S watch Volume kubectl OpenAFS Create Pod User

  25. POD Deletion Worker Worker POD Worker AFS AFS AFS Plugin Plugin Plugin kubele kubele Unmount kubele Master Volume t t t OpenAF S watch Volume kubectl OpenAFS Delete Pod User

  26. Thank You 27

Recommend


More recommend