Using - The process where PODs consume a volume.Binding - The process of matching a PVC with a suitable PV, then binding them together.Provisioning could be either static or dynamic. Provisioning - This is where the physical storage system is available to be consumed by users of a cluster.The interaction between the two objects follows the following pattern: PVCs represent requests for a PV resource. The configuration file of a storage class object would look similar to: Storage classes allow for the automatic, dynamic allocation of PVs to Kubernetes objects. The storage class object requests for a portion of the storage object then creates a volume matching the specifications in its configuration file. If the PV is dynamically provisioned, a storage class object is used to define different storage implementation characteristics pointing to a physical storage system. In this case, PODs are attached to a PV that points to a specific portion of this storage object. In static PV provisioning, the storage object is first created and configured on the host and is then made available to the cluster. PVs can either be provisioned statically or dynamically. Once a POD is bound to a PVC, the PVC attached it to appropriate PVs based on the specified disk size and access modes specified in the configuration file. This means that a PV persists data to be used by containers throughout the application lifecycle.Ī PV is a Kubernetes API object with configurations similar to: The Persistent Volume has its lifecycle independent of any POD consuming it. The PV exposes object, file, and block storage systems by capturing the details of its implementation protocol, be it iSCSI (SCSI over the Internet), NFS, or any storage systems offered by specific vendors and cloud providers. Persistent VolumesĪ Persistent Volume is a piece of storage available to the cluster. This section explores these API objects and their role in providing persistent storage for containers in Kubernetes. Once a CSI plugin has been set up and is running in Kubernetes, resources and users can consume volumes using the Kubernetes Storage API objects: Persistent Volumes, Persistent Volume Claims, and Storage Classes. The complete list of supported volume plugins in Kubernetes can be found here. Some of the most popular CSI Plugins for Kubernetes include: The plugin system enabled by the CSI also allows vendors to add storage systems to Kubernetes without having to modify core Kubernetes code and binaries. This way, Kubernetes abstractions can provision storage resources to PODs and containers. Kubernetes uses these plugins to expose physical storage on nodes to Kubelets running in a cluster’s data plane. Kubernetes implemented the Container Storage Interface (CSI) to standardize the creation of third-party plugins for storage implementation. In this article, we explore persistent volumes in detail, and the purpose these solve within a Kubernetes ecosystem. The PV is a portion of physical storage that PODs attach to so they can store their data which is available even after a container restarts. Persistent Volumes - This is an API object that represents an abstract implementation of physical storage to be used by PODs, but they last beyond a POD’s lifetime. Secrets, ConfigMaps, and the downwardAPIĢ.Kubernetes allows various kinds of ephemeral volumes for different uses, including: Ephemeral volumes are applicable for low latency applications where limited memory size may impact performance. Ephemeral volumes only last the lifetime of their PODs, and are deleted when the POD stops running. Ephemeral Volumes - These are used for applications that need storage but do not need to access the data after a restart. Kubernetes supports two major types of Volumes:ġ. A Volume essentially provides a storage directory that can be used by containers running in PODs to store and share data. Containers running on Kubernetes do not store the data they create or process. In Kubernetes, volume abstractions are used to provide an API that abstracts the physical implementation of storage from how it is consumed by application resources. Overview: What is a Volume in Kubernetes?
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |