Kubernetes Storage Concepts: Difference between revisions
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
=Storage Providers= | =Storage Providers= | ||
Kubernetes [[#Persistent_Volume_Subsystem|persistent volume subsystem]] supports, among others | Storage is exposed to a Kubernetes cluster by '''storage providers'''. | ||
The Kubernetes [[#Persistent_Volume_Subsystem|persistent volume subsystem]] supports, among others: | |||
* iSCSI | |||
* SMB | |||
* Enterprise storage arrays from vendors like EMC and NetApp | |||
* NFS | |||
* [[Storage_Concepts#Object_Storage|object storage blobs]] | |||
* Amazon [[Amazon Elastic Block Store|Elastic Block Store]] [[Amazon_Elastic_Block_Store_Concepts#Block_Device|block devices]] | |||
* Azure File resources | |||
* GCE Persistent Disks | |||
Each storage provider has its own plugin that handles the details of exposing the storage to the Kubernetes cluster. | |||
=<span id='Container_Storage_Interface'></span><span id='CSI'></span>Container Storage Interface (CSI)= | =<span id='Container_Storage_Interface'></span><span id='CSI'></span>Container Storage Interface (CSI)= |
Revision as of 00:56, 10 December 2019
Internal
Overview
Kubernetes has a mature and feature-rich subsystem called the persistent volume subsystem. Regardless of where it comes from, storage is exposed to the Kubernetes cluster in the form of a volume.
Storage Providers
Storage is exposed to a Kubernetes cluster by storage providers.
The Kubernetes persistent volume subsystem supports, among others:
- iSCSI
- SMB
- Enterprise storage arrays from vendors like EMC and NetApp
- NFS
- object storage blobs
- Amazon Elastic Block Store block devices
- Azure File resources
- GCE Persistent Disks
Each storage provider has its own plugin that handles the details of exposing the storage to the Kubernetes cluster.
Container Storage Interface (CSI)
Storage Plugin
Provisioner.
API Resources
PersistentVolume (PV)
PersistentVolumeClaim (PVC)
StorageClass (SC)
Volume
Secrets may be exposed as files in dedicated volumes mounted in the pod.
Volume Type
- hostPath
- configMap
Dynamic Volume Provisioning
Dynamic volume provisioner https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/