Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Comment gérer des applications nécessitant la persistance des données avec Kubernetes

Comment gérer des applications nécessitant la persistance des données avec Kubernetes

Gérer des applications ne nécessitant pas de persistance de données est chose aisée avec Kubernetes. Cela se complique généralement quand des informations ont besoin de perdurer dans le temps, comme c'est par exemple le cas avec les bases de données.
Durant cette présentation, nous ferons un inventaire des solutions de stockage que Kubernetes offre, s'en suivra une démo montrant comment gérer des volumes de données dans Kubernetes.

Florian Woerner

April 20, 2018
Tweet

More Decks by Florian Woerner

Other Decks in Technology

Transcript

  1. Agenda • Contexte • Volume provider • Gestion le lifecycle

    de Volumes • Demo • Conclusion 3 @woernfl
  2. Types de Volumes - Kubernetes Internals • configMap • downwardAPI

    • emptyDir • gitRepo • hostPath • local • persistentVolumeClaim • projected • Secret • csi 9 @woernfl
  3. Types de Volumes - Public Cloud 10 @woernfl • awsElasticBlockStore

    • azureDisk • azureFile • gcePersistentDisk
  4. Types de Volumes - Non Cloud Dependant • cephfs •

    fc (fibre channel) • flocker • glusterfs • nfs • iscsi • portworxVolume • quobyte • rbd (Rados Block Device) • scaleIO • storageos • vsphereVolume 11 @woernfl
  5. CSI c’est quoi ? • Container Storage Interface • Adopté

    par Kubernetes, Mesos et Cloud Foundry (pour l’instant) • Supporté en beta dans Kubernetes 1.10 (planifié en stable pour 1.12) • Un moyen standard d’exposer du storage au container 14 @woernfl
  6. Pourquoi est ce important ? • Interface commune à plusieurs

    plates-formes (standardisation) • Permet l’évolution des storage provider en dehors des realease de Kubernetes 15 @woernfl
  7. Scénario: Persistent Volumes et Claims 20 @woernfl Kubernetes Node Storage

    (NFS, EBS, ...) Persistent Volume Persistent Volume Claim
  8. Scénario: Persistent Volumes et Claims 21 @woernfl Kubernetes Node Storage

    (NFS, EBS, ...) Persistent Volume Persistent Volume Claim Pod
  9. Scénario: Persistent Volumes et Claims 22 @woernfl Kubernetes Node Storage

    (NFS, EBS, ...) Persistent Volume Persistent Volume Claim Pod
  10. Scénario: Dynamic Provisioning 26 @woernfl Kubernetes Node Storage (NFS, EBS,

    ...) Persistent Volume Claim Storage Class - SDD Storage Class - HDD
  11. Scénario: Dynamic Provisioning 27 @woernfl Kubernetes Node Storage (NFS, EBS,

    ...) Persistent Volume Persistent Volume Claim Storage Class - SDD Storage Class - HDD
  12. Scénario: Dynamic Provisioning 28 @woernfl Kubernetes Node Storage (NFS, EBS,

    ...) Persistent Volume Persistent Volume Claim Pod Storage Class - SDD Storage Class - HDD
  13. Scénario: Dynamic Provisioning 29 @woernfl Kubernetes Node Storage (NFS, EBS,

    ...) Persistent Volume Persistent Volume Claim Pod Storage Class - SDD Storage Class - HDD
  14. Référence 32 • Volumes Kubernetes Doc: https://kubernetes.io/docs/concepts/storage/volumes/ • Kubernetes Tasks:

    https://kubernetes.io/docs/tasks/ • Configure a Pod to Use a PersistentVolume for Storage: https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/ • Run a Single-Instance Stateful Application: https://kubernetes.io/docs/tasks/run-application/run-single-instance-stateful-application/ • Run a Replicated Stateful Application: https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/ • StatefulSets Kubernetes Doc: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/ @woernfl