Reclaiming: Kubernetes reclaims the storage resources used in the PVC based on the reclaim policy of the PV, unless the storage is set to be deleted when released.įor Kubernetes on AWS, EBS volumes are persistent volumes hosted in the same region and availability zone as the EC2 instance nodes running on the EKS cluster.Releasing: The container releases the PV when the PVC is removed.Using : The container uses storage resources from a PV via a PVC.Binding: When the PVC is made, a PV that fulfills the requirements is assigned and bound to the PVC.Provisioning: The cluster administrator creates a PV in static or dynamic modes based on a storage class.The lifecycle of a PV and PVC consists of 5 stages: Since the storage request is separate from the storage creation, Kubernetes can enforce access control mechanisms based on the container or pod credentials and the available PVs in the cluster.Ī PV’s lifecycle is independent of pods. As they are cluster resources, PVs are not portable between clusters.Ī persistent volume claim is a storage request used by developers to describe an application’s storage requirements, for example, a container’s storage size and access mode. PVs de fine the details of the storage implementation, such as capacity, access modes, storage class, and reclaim policy. Kubernetes uses persistent volumes, and persistent volume claims to allow pods to use storage in a portable manner while abstracting its implementation away from how storage is consumed.Ī persistent volume (PV) is a storage entity within a cluster that is either allocated manually by an administrator or dynamically allocated based on a storage class. For example, the native Amazon Elastic Block Store volume has been deprecated as of v1.17 in favor of the Amazon EBS CSI. While support for cloud storage services is currently available within the core Kubernetes project, the Kubernetes Storage Special-Interest Group (k8s-sig-storage) is slowly shifting toward providing storage support through external Container Storage Interfaces (CSIs). Developers can also create custom storage plugins to support specific storage systems deployed on Kubernetes clusters as extensions. Kubernetes supports multiple storage volumes, including local storage devices, network file systems (NFS), and cloud storage services like AWS Elastic Block Store (EBS) volumes. While volumes cannot be mounted within other volumes, a volume can be shared between multiple containers in a pod using sub-paths within the volume mount paths in the pod specifications. Volumes are mounted at specified paths within the container image, so you must independently specify the mount path of each volume used for each container in the pod. A process in the container sees a filesystem view, which includes a root filesystem that matches the initial contents of a container image and the volumes mounted inside the container (if defined within the container specifications). Volumes are the basic storage entities in Kubernetes.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |