title
Kubernetes Volumes explained | Persistent Volume, Persistent Volume Claim & Storage Class

description
Kubernetes Volumes | Kubernetes Persistent Volumes | Kubernetes Volume Claim | Kubernetes Volume Tutorial ► Subscribe To Me On Youtube: https://bit.ly/2z5rvTV Kubernetes doesn't provide data persistence out of the box, which means when a pod is re-created, the data is gone. So, you need to create and configure the actual physical storage and manage it by yourself. Once configured, you can use that physical storage using Kubernetes storage components. In this video I show you 3 different Kubernetes volume components, that you need to use to connect the actual physical storage to your pod, so that the application inside the container can access it. The 1st component "Persistent Volume" is a cluster resource, like CPU or RAM, which is created and provisioned by administrators. The 2nd component "Persistent Volume Claim" on the other hand is a user's or pod's request for a persistent volume. With the 3rd component "Storage Class" you can dynamically provision Persistent Volume component and so automate the storage provisioning process. ► Reference to YAML Configs: https://gitlab.com/nanuchi/kubernetes-tutorial-series-youtube/-/tree/master/kubernetes-volumes ► Volume Types: https://kubernetes.io/docs/concepts/storage/volumes/#types-of-volumes ► Checkout Kubernetes Volumes Demo: https://youtu.be/FAnQTgr04mU ▬▬▬▬▬▬ T I M E S T A M P S 0:00 - Intro 0:20 - The need for persistent storage & storage requirements 2:05 - Persistent Volume (PV) 6:33 - Local vs Remote Volume Types 7:38 - Who creates the PV and when? (Kubernetes Administrator and Kubernetes User Role) 9:03 - Persistent Volume Claim (PVC) 10:33 - Levels of volume abstractions 12:17 - Why are these abstractions good? 13:40 - ConfigMap and Secret as volume types 15:52 - Multiple and different volume types in 1 pod 17:12 - Storage Class (SC) ------------------------------------------------------------------------------------------------------- Full Kubernetes and Docker tutorial ► https://bit.ly/2YGeRp9 DevOps Tools, like Ansible ► https://bit.ly/2W9UEq6 Complete K8s Application Setup ► https://youtu.be/EQNO_kM96Mo Complete Jenkins Pipeline Tutorial ► https://youtu.be/7KCS70sCoK0 For any questions/issues/feedback, please leave me a comment and I will get back to you as soon as possible. Also please let me know what you want to learn about Docker & Kubernetes or another technology. #kubernetesvolumes #kubernetes #kubernetestutorial #devops #techworldwithnana ------------------------------------------------------------------------------------------------------- ▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬ Join private Facebook group ► https://bit.ly/32UVSZP Don't forget to subscribe ► https://bit.ly/3mO4jxT DEV ► https://bit.ly/3h2fqiO INSTAGRAM ► https://bit.ly/2F3LXYJ TWITTER ► https://bit.ly/3i54PUB LINKEDIN ► https://bit.ly/3hWOLVT ▬▬▬▬▬▬ Courses & Bootcamp & Ebooks 🚀 ▬▬▬▬▬▬ ► Become a DevOps Engineer - full educational program 👉🏼 https://bit.ly/45mXaer ► High-Quality and Hands-On Courses 👉🏼 https://bit.ly/3BNS8Kv ► Kubernetes 101 - compact and easy-to-read ebook bundle 👉🏼 https://bit.ly/3Ozl28x Legal Notice: Kubernetes and the Kubernetes logo are trademarks or registered trademarks of The Linux Foundation in the United States and/or other countries. The Linux Foundation and other parties may also have trademark rights in other terms used herein. This video is not accredited, certified, affiliated with, nor endorsed by Kubernetes or The Linux Foundation.

detail
{'title': 'Kubernetes Volumes explained | Persistent Volume, Persistent Volume Claim & Storage Class', 'heatmap': [{'end': 560.849, 'start': 531.118, 'weight': 0.807}, {'end': 1258.625, 'start': 1230.247, 'weight': 1}], 'summary': 'Covers kubernetes data persistence using volumes, persistent storage concepts, roles in storage configuration, abstracted storage benefits, and storage classes with a focus on dynamic provisioning and configuration parameters.', 'chapters': [{'end': 98.822, 'segs': [{'end': 98.822, 'src': 'embed', 'start': 21.206, 'weight': 0, 'content': [{'end': 29.255, 'text': 'Consider a case where you have a MySQL database pod, which your application uses data gets added, updated in the database.', 'start': 21.206, 'duration': 8.049}, {'end': 33.42, 'text': 'Maybe you create a new database with a new user, et cetera.', 'start': 29.936, 'duration': 3.484}, {'end': 38.626, 'text': 'But default when you restart the pod, all those changes will be gone.', 'start': 33.86, 'duration': 4.766}, {'end': 43.209, 'text': "because Kubernetes doesn't give you data persistence out of the box.", 'start': 39.025, 'duration': 4.184}, {'end': 51.196, 'text': "That's something that you have to explicitly configure for each application that needs saving data between pod restarts.", 'start': 43.929, 'duration': 7.267}, {'end': 57.061, 'text': "So basically you need a storage that doesn't depend on the pod lifecycle.", 'start': 52.197, 'duration': 4.864}, {'end': 61.505, 'text': 'So it will still be there when pod dies and new one gets created.', 'start': 57.682, 'duration': 3.823}, {'end': 65.309, 'text': 'So the new pod can pick up where the previous one left off.', 'start': 62.026, 'duration': 3.283}, {'end': 70.578, 'text': 'So it will read the existing data from that storage to get up to date data.', 'start': 66.016, 'duration': 4.562}, {'end': 75.56, 'text': "However, you don't know on which node the new pod restarts.", 'start': 71.558, 'duration': 4.002}, {'end': 85.564, 'text': 'So your storage must also be available on all nodes, not just one specific one, so that when the new pod tries to read the existing data,', 'start': 75.96, 'duration': 9.604}, {'end': 90.266, 'text': 'the up to date data is there on any node in the cluster.', 'start': 85.564, 'duration': 4.702}, {'end': 98.822, 'text': 'And also you need a highly available storage that will survive even if the whole cluster crashed.', 'start': 91.565, 'duration': 7.257}], 'summary': 'Kubernetes needs explicit data persistence configuration for applications; requires storage available on all nodes for data consistency and high availability.', 'duration': 77.616, 'max_score': 21.206, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM21206.jpg'}], 'start': 1.006, 'title': 'Kubernetes data persistence with volumes', 'summary': 'Explains persisting data in kubernetes using volumes, covering persistent volume, persistent volume claim, and storage class. it emphasizes the necessity and configuration of data persistence to ensure changes are retained between pod restarts and achieve high availability.', 'chapters': [{'end': 98.822, 'start': 1.006, 'title': 'Kubernetes data persistence with volumes', 'summary': 'Explains how to persist data in kubernetes using volumes, covering persistent volume, persistent volume claim, and storage class, and emphasizes the necessity and configuration of data persistence in kubernetes to ensure that changes are retained between pod restarts and that storage is highly available.', 'duration': 97.816, 'highlights': ["Kubernetes doesn't provide data persistence out of the box, requiring explicit configuration for each application needing data retention between pod restarts. Kubernetes by default doesn't provide data persistence, necessitating explicit configuration for each application requiring data retention between pod restarts.", 'Need for a storage that is independent of the pod lifecycle to retain data between pod restarts. There is a need for a storage solution that is not dependent on the pod lifecycle to ensure data persistence between pod restarts.', 'Requirement for highly available storage that can survive even if the entire cluster crashes. Emphasizes the need for highly available storage that can withstand the failure of the entire cluster.']}], 'duration': 97.816, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM1006.jpg', 'highlights': ["Kubernetes doesn't provide data persistence out of the box, requiring explicit configuration for each application needing data retention between pod restarts.", 'There is a need for a storage solution that is not dependent on the pod lifecycle to ensure data persistence between pod restarts.', 'Emphasizes the need for highly available storage that can withstand the failure of the entire cluster.']}, {'end': 474.143, 'segs': [{'end': 151.225, 'src': 'embed', 'start': 125.319, 'weight': 0, 'content': [{'end': 132.208, 'text': 'And you can configure any of this type of storage using Kubernetes component called persistent volume.', 'start': 125.319, 'duration': 6.889}, {'end': 140.46, 'text': 'Think of a persistent volume as a cluster resource, just like RAM or CPU that is used to store data.', 'start': 132.849, 'duration': 7.611}, {'end': 151.225, 'text': 'Persistent volume, just like any other component, gets created using Kubernetes YAML file where you can specify the kind which is persistent volume.', 'start': 141.601, 'duration': 9.624}], 'summary': 'Kubernetes uses persistent volumes to store data, configured using yaml files.', 'duration': 25.906, 'max_score': 125.319, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM125319.jpg'}, {'end': 227.198, 'src': 'embed', 'start': 178.547, 'weight': 1, 'content': [{'end': 183.13, 'text': 'like AWS block storage or from Google Cloud storage, etc.', 'start': 178.547, 'duration': 4.583}, {'end': 187.914, 'text': 'So the question is where does this storage back end come from?', 'start': 183.671, 'duration': 4.243}, {'end': 189.935, 'text': 'local or remote or on cloud??', 'start': 187.914, 'duration': 2.021}, {'end': 190.916, 'text': 'Who configures it?', 'start': 189.995, 'duration': 0.921}, {'end': 193.258, 'text': 'Who makes it available to the cluster?', 'start': 191.276, 'duration': 1.982}, {'end': 197.481, 'text': "And that's a tricky part of data persistence in Kubernetes.", 'start': 193.958, 'duration': 3.523}, {'end': 201.963, 'text': "because Kubernetes doesn't care about your actual storage.", 'start': 197.921, 'duration': 4.042}, {'end': 211.947, 'text': 'It gives you persistent volume component as an interface to the actual storage that you as a maintainer or administrator have to take care of.', 'start': 202.403, 'duration': 9.544}, {'end': 221.914, 'text': 'So you have to decide what type of storage your cluster services or applications would need and create and manage them by yourself.', 'start': 212.647, 'duration': 9.267}, {'end': 227.198, 'text': "Managing meaning do backups and make sure they don't get corrupt, et cetera.", 'start': 222.615, 'duration': 4.583}], 'summary': 'Kubernetes data persistence: admins configure and manage storage for cluster, including backups and maintenance.', 'duration': 48.651, 'max_score': 178.547, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM178547.jpg'}], 'start': 99.898, 'title': 'Kubernetes persistent storage', 'summary': 'Explains the concept of persistent storage in kubernetes, highlighting the use of persistent volumes, the need for administrator management, and differentiation between local and remote volume types.', 'chapters': [{'end': 474.143, 'start': 99.898, 'title': 'Kubernetes persistent storage', 'summary': 'Explains the concept of persistent storage in kubernetes, emphasizing the use of persistent volumes as an interface to actual storage, the need for administrators to manage and configure the storage back end, and the differentiation between local and remote volume types.', 'duration': 374.245, 'highlights': ['Persistent volumes act as an interface to actual storage and are created using Kubernetes YAML files, specifying parameters such as storage size and storage back end. Persistent volumes are cluster resources used to store data, created through Kubernetes YAML files, specifying parameters like storage size and storage back end.', 'Kubernetes administrators are responsible for managing and configuring the storage back end, deciding the type of storage needed for cluster services or applications, and ensuring backups and data integrity. Administrators have to manage and configure the storage back end, decide the type of storage needed for cluster services or applications, and ensure backups and data integrity.', 'Different types of storage back ends, including local storage on cluster nodes, remote storage like NFS servers, or cloud storage such as AWS block storage or Google Cloud storage, can be configured for the cluster, allowing various applications to utilize different storage types. Various storage back ends like local storage, remote storage (e.g., NFS servers), or cloud storage (e.g., AWS block storage, Google Cloud storage) can be configured for the cluster, enabling applications to use different storage types.']}], 'duration': 374.245, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM99898.jpg', 'highlights': ['Persistent volumes are cluster resources created through Kubernetes YAML files, specifying parameters like storage size and storage back end.', 'Kubernetes administrators manage and configure the storage back end, decide the type of storage needed for cluster services or applications, and ensure backups and data integrity.', 'Various storage back ends like local storage, remote storage (e.g., NFS servers), or cloud storage (e.g., AWS block storage, Google Cloud storage) can be configured for the cluster, enabling applications to use different storage types.']}, {'end': 753.986, 'segs': [{'end': 578.717, 'src': 'heatmap', 'start': 531.118, 'weight': 0, 'content': [{'end': 537.419, 'text': 'based on the information from developer team of what types of storage their applications would need.', 'start': 531.118, 'duration': 6.301}, {'end': 543.16, 'text': 'And the developers then will know that storage is there and can be used by their applications.', 'start': 538.059, 'duration': 5.101}, {'end': 552.645, 'text': 'But for that, developers have to explicitly configure the application YAML file to use those persistent volume components.', 'start': 543.76, 'duration': 8.885}, {'end': 557.647, 'text': 'In other words, application has to claim that volume storage.', 'start': 553.505, 'duration': 4.142}, {'end': 560.849, 'text': 'And you do that using another component of Kubernetes.', 'start': 558.107, 'duration': 2.742}, {'end': 565.531, 'text': 'called persistent volume claim, persistent volume claims.', 'start': 561.249, 'duration': 4.282}, {'end': 570.193, 'text': 'Also, PVCs are also created with YAML configuration.', 'start': 565.671, 'duration': 4.522}, {'end': 571.874, 'text': "Here's an example claim.", 'start': 570.513, 'duration': 1.361}, {'end': 576.816, 'text': "Again, don't worry about understanding each and every attribute that is defined here.", 'start': 572.494, 'duration': 4.322}, {'end': 578.717, 'text': 'But on the higher level.', 'start': 577.396, 'duration': 1.321}], 'summary': 'Developers configure applications to claim and use storage via persistent volume components in kubernetes.', 'duration': 77.335, 'max_score': 531.118, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM531118.jpg'}, {'end': 662.373, 'src': 'embed', 'start': 633.734, 'weight': 4, 'content': [{'end': 641.58, 'text': 'So to go through those levels of abstractions that by step and parts access storage by using the claim as a volume.', 'start': 633.734, 'duration': 7.846}, {'end': 645.323, 'text': 'Right So they request the volume through claim.', 'start': 642.101, 'duration': 3.222}, {'end': 655.769, 'text': 'The claim then will go and try to find a volume persistent volume in the cluster that satisfies the claim and the volume will have a storage.', 'start': 646.044, 'duration': 9.725}, {'end': 662.373, 'text': 'the actual storage beckoned that it will create that storage resource from.', 'start': 655.769, 'duration': 6.604}], 'summary': 'Levels of abstractions used to access storage by claiming a volume in a cluster, creating storage resource.', 'duration': 28.639, 'max_score': 633.734, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM633734.jpg'}], 'start': 474.843, 'title': 'Kubernetes roles and persistent volume components', 'summary': 'Discusses kubernetes roles (administrator and user) and their responsibilities in storage configuration, as well as the process of creating and using persistent volume components, including claims configuration, pod usage, and storage management benefits.', 'chapters': [{'end': 526.477, 'start': 474.843, 'title': 'Roles in kubernetes and storage configuration', 'summary': "Discusses the two main roles in kubernetes, namely the administrator and the user, and emphasizes the administrator's responsibility in configuring and maintaining storage resources for the cluster.", 'duration': 51.634, 'highlights': ['The Kubernetes administrator is responsible for setting up the cluster, maintaining it, and ensuring it has sufficient resources, while the Kubernetes user deploys applications in the cluster, either directly or through a CI pipeline.', "The administrator's role involves configuring the actual storage for the cluster, such as ensuring the presence and configuration of NFS server storage or creating and configuring cloud storage for the cluster."]}, {'end': 753.986, 'start': 526.477, 'title': 'Kubernetes persistent volume components', 'summary': 'Explains the process of creating and using persistent volume components in kubernetes, including creating persistent volume claims, configuring pods to use the claims, and the benefits of using these abstractions for storage management.', 'duration': 227.509, 'highlights': ['Developers have to explicitly configure the application YAML file to use persistent volume components created from storage beckons. Developers need to explicitly configure the application YAML file to use the persistent volume components created from storage beckons, based on the information from the developer team regarding the types of storage their applications would need.', 'Persistent Volume Claims (PVCs) are created with YAML configuration, and they define the storage size, access type, and additional characteristics. Persistent Volume Claims (PVCs) are created with YAML configuration, defining the storage size, access type, and additional characteristics to claim a volume that satisfies the defined criteria.', "Pods access storage by using the claim as a volume, allowing them to request the volume through the claim, which then finds a matching persistent volume in the cluster to use. Pods access storage by using the claim as a volume, requesting the volume through the claim, which then finds a matching persistent volume in the cluster that satisfies the claim for the application's use.", "Attributes like volumes and volume mounts, and how they're used, will be explained in a later demo video. Attributes like volumes and volume mounts, and how they're used, will be explained in a later demo video, providing more specific details and explanations.", 'The process of creating and using persistent volume components in Kubernetes involves multiple abstractions for storage management, including creating persistent volumes, claims, and configuring pods to use the claims. The process of creating and using persistent volume components in Kubernetes involves multiple abstractions for storage management, including creating persistent volumes, claims, and configuring pods to use the claims, offering benefits for storage management.']}], 'duration': 279.143, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM474843.jpg', 'highlights': ['The process of creating and using persistent volume components in Kubernetes involves multiple abstractions for storage management, including creating persistent volumes, claims, and configuring pods to use the claims, offering benefits for storage management.', "The administrator's role involves configuring the actual storage for the cluster, such as ensuring the presence and configuration of NFS server storage or creating and configuring cloud storage for the cluster.", 'Developers need to explicitly configure the application YAML file to use the persistent volume components created from storage beckons, based on the information from the developer team regarding the types of storage their applications would need.', 'Persistent Volume Claims (PVCs) are created with YAML configuration, defining the storage size, access type, and additional characteristics to claim a volume that satisfies the defined criteria.', "Pods access storage by using the claim as a volume, requesting the volume through the claim, which then finds a matching persistent volume in the cluster that satisfies the claim for the application's use."]}, {'end': 1077.32, 'segs': [{'end': 827.612, 'src': 'embed', 'start': 754.587, 'weight': 0, 'content': [{'end': 761.732, 'text': 'Well, this actually has a benefit, because as a user meaning a developer who just wants to deploy their application in the cluster,', 'start': 754.587, 'duration': 7.145}, {'end': 765.695, 'text': "You don't care about where the actual storage is.", 'start': 762.512, 'duration': 3.183}, {'end': 774.242, 'text': 'You know you want your database to have persistence, and whether the data will leave on the Gloucester FS or AWS,', 'start': 766.395, 'duration': 7.847}, {'end': 780.088, 'text': "EBS or local storage doesn't matter for you, as long as the data is safely stored.", 'start': 774.242, 'duration': 5.846}, {'end': 788.935, 'text': "Or if you need a directory storage for files, you don't care where the directory actually leaves as long as it has enough space and works properly.", 'start': 780.628, 'duration': 8.307}, {'end': 795.121, 'text': "And you sure don't want to care about setting up these actual storages yourself.", 'start': 789.856, 'duration': 5.265}, {'end': 801.066, 'text': 'You just want 50 gigabytes storage for your last week or 10 gigabyte for your application.', 'start': 795.561, 'duration': 5.505}, {'end': 801.726, 'text': "That's it.", 'start': 801.306, 'duration': 0.42}, {'end': 810.694, 'text': 'So you make a claim for storage using PVC and assume that cluster has storage resources already there.', 'start': 802.387, 'duration': 8.307}, {'end': 820.353, 'text': "And this makes deploying the applications easier for developers because they don't have to take care of the stuff beyond deploying the applications.", 'start': 811.354, 'duration': 8.999}, {'end': 827.612, 'text': "Now, there are two volume types that I think needs to be mentioned separately because they're a bit different from the rest.", 'start': 821.51, 'duration': 6.102}], 'summary': 'Using pvc simplifies storage allocation for developers, enabling easy deployment of applications without needing to manage storage resources themselves.', 'duration': 73.025, 'max_score': 754.587, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM754587.jpg'}, {'end': 985.085, 'src': 'embed', 'start': 953.363, 'weight': 4, 'content': [{'end': 960.245, 'text': 'Interesting note for you is that a pod can actually use multiple volumes of different types simultaneously.', 'start': 953.363, 'duration': 6.882}, {'end': 967.12, 'text': "Let's say you have an elastic search application or pod running in your cluster.", 'start': 960.625, 'duration': 6.495}, {'end': 973.402, 'text': 'that needs a configuration file mounted through config map needs a certificate.', 'start': 967.12, 'duration': 6.282}, {'end': 985.085, 'text': "Let's say client certificate mounted as a secret and it needs database storage, let's say, which is backed with AWS elastic block storage.", 'start': 973.682, 'duration': 11.403}], 'summary': 'Pods can use multiple volumes of different types simultaneously.', 'duration': 31.722, 'max_score': 953.363, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM953363.jpg'}, {'end': 1077.32, 'src': 'embed', 'start': 1052.24, 'weight': 5, 'content': [{'end': 1059.046, 'text': 'So developers need to ask admins to create persistent volumes they need for applications before deploying them.', 'start': 1052.24, 'duration': 6.806}, {'end': 1071.736, 'text': 'And admins then may have to manually request storage from cloud or storage provider and create hundreds of persistent volumes for all the applications that need storage manually.', 'start': 1059.706, 'duration': 12.03}, {'end': 1077.32, 'text': 'And that can be tedious, time consuming and can get messy very quickly.', 'start': 1072.176, 'duration': 5.144}], 'summary': 'Developers need to ask admins to create hundreds of persistent volumes for applications, which is tedious and time-consuming.', 'duration': 25.08, 'max_score': 1052.24, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM1052240.jpg'}], 'start': 754.587, 'title': 'Abstracted storage benefits in kubernetes', 'summary': "Discusses the benefits of abstracted storage in cluster deployment, emphasizing developers' priority of functionality and capacity, aiming for 50 gigabytes storage for the last week or 10 gigabytes for the application. it also explains the use of pvc for storage in kubernetes, focusing on config map and secret volume types, and highlights the flexibility of using multiple volumes of different types simultaneously.", 'chapters': [{'end': 801.726, 'start': 754.587, 'title': 'Benefits of abstracted storage in cluster deployment', 'summary': 'Discusses the benefits of abstracted storage in cluster deployment, highlighting that as a user, developers prioritize functionality and capacity over the specific location or type of storage, aiming for 50 gigabytes storage for the last week or 10 gigabytes for the application.', 'duration': 47.139, 'highlights': ['Developers prioritize functionality and capacity over the specific location or type of storage, aiming for 50 gigabytes storage for the last week or 10 gigabytes for the application.', 'Users do not care about where the actual storage is and prioritize having their database persist data, regardless of its location such as Gloucester FS, AWS, EBS, or local storage.', 'The chapter emphasizes that developers prefer not to be involved in setting up the actual storages themselves, as they prioritize convenience and functionality.']}, {'end': 1077.32, 'start': 802.387, 'title': 'Kubernetes volume types and deployment', 'summary': 'Explains the use of pvc for storage in kubernetes, focusing on config map and secret volume types, and highlights the flexibility of using multiple volumes of different types simultaneously, reducing the manual effort and time required for storage allocation and deployment of applications.', 'duration': 274.933, 'highlights': ["Developers can use PVC to deploy applications with ease, as they don't have to handle storage resources beyond deploying the applications. Deploying applications becomes easier for developers as they don't need to manage storage resources beyond deployment.", 'Config map and secret are separate volume types in Kubernetes, managed by Kubernetes itself, and can be mounted into pods and containers similar to PVC. Config map and secret are local volumes, distinct from others, managed by Kubernetes, and can be mounted into pods and containers.', 'The flexibility of using multiple volumes of different types simultaneously within a pod or deployment reduces the manual effort and time required for storage allocation and deployment of applications. Using multiple volumes of different types simultaneously within a pod or deployment reduces manual effort and time for storage allocation.', 'Manual configuration and creation of hundreds of persistent volumes for applications can be tedious, time-consuming, and messy. Manual creation of persistent volumes for applications can be tedious, time-consuming, and lead to a messy storage allocation process.']}], 'duration': 322.733, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM754587.jpg', 'highlights': ['Developers prioritize functionality and capacity over the specific location or type of storage, aiming for 50 gigabytes storage for the last week or 10 gigabytes for the application.', 'Users do not care about where the actual storage is and prioritize having their database persist data, regardless of its location such as Gloucester FS, AWS, EBS, or local storage.', 'The chapter emphasizes that developers prefer not to be involved in setting up the actual storages themselves, as they prioritize convenience and functionality.', "Developers can use PVC to deploy applications with ease, as they don't have to handle storage resources beyond deploying the applications. Deploying applications becomes easier for developers as they don't need to manage storage resources beyond deployment.", 'The flexibility of using multiple volumes of different types simultaneously within a pod or deployment reduces the manual effort and time required for storage allocation and deployment of applications.', 'Manual configuration and creation of hundreds of persistent volumes for applications can be tedious, time-consuming, and messy.']}, {'end': 1273.025, 'segs': [{'end': 1106.706, 'src': 'embed', 'start': 1078.141, 'weight': 0, 'content': [{'end': 1086.883, 'text': 'So to make this process more efficient, there is a third component of Kubernetes persistence called storage class.', 'start': 1078.141, 'duration': 8.742}, {'end': 1094.744, 'text': 'storage class basically creates or provisions persistent volumes dynamically whenever PVC claims it.', 'start': 1086.883, 'duration': 7.861}, {'end': 1099.685, 'text': 'And this way, creating or provisioning volumes in a cluster may be automated.', 'start': 1095.204, 'duration': 4.481}, {'end': 1104.906, 'text': 'Storage class also gets created using YAML configuration file.', 'start': 1100.565, 'duration': 4.341}, {'end': 1106.706, 'text': 'So this is an example file.', 'start': 1105.326, 'duration': 1.38}], 'summary': 'Kubernetes storage class automates volume provisioning in a cluster using yaml configuration file.', 'duration': 28.565, 'max_score': 1078.141, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM1078141.jpg'}, {'end': 1176.747, 'src': 'embed', 'start': 1130.578, 'weight': 1, 'content': [{'end': 1142.301, 'text': 'because it tells Kubernetes which provisioner to be used for a specific storage platform or cloud provider to create the persistent volume component out of it.', 'start': 1130.578, 'duration': 11.723}, {'end': 1151.783, 'text': 'So each storage backend has its own provisioner that Kubernetes offers internally, which are prefixed with Kubernetes.io like this one here.', 'start': 1142.901, 'duration': 8.882}, {'end': 1161.142, 'text': 'And these are internal provisioners and for others or other storage types, their external provisioners,', 'start': 1152.859, 'duration': 8.283}, {'end': 1166.643, 'text': 'that you have to then explicitly go and find and use that in your storage class.', 'start': 1161.142, 'duration': 5.501}, {'end': 1175.506, 'text': 'And in addition to provision or attribute, we configure parameters of the storage we want to request for a persistent volume.', 'start': 1167.664, 'duration': 7.842}, {'end': 1176.747, 'text': "like this one's here.", 'start': 1175.886, 'duration': 0.861}], 'summary': 'Kubernetes uses internal and external provisioners for storage classes and persistent volumes.', 'duration': 46.169, 'max_score': 1130.578, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM1130578.jpg'}, {'end': 1230.247, 'src': 'embed', 'start': 1202.652, 'weight': 3, 'content': [{'end': 1222.04, 'text': 'So, in the PVC configuration here we add additional attribute that is called storage class name that references the storage class to be used to create a persistent volume that satisfies the claims of this PVC.', 'start': 1202.652, 'duration': 19.388}, {'end': 1230.247, 'text': 'So now, when a pod claims storage through PVC, the PVC will request that storage from storage class,', 'start': 1222.681, 'duration': 7.566}], 'summary': 'Pvc configuration adds storage class name for persistent volume creation.', 'duration': 27.595, 'max_score': 1202.652, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM1202652.jpg'}, {'end': 1258.625, 'src': 'heatmap', 'start': 1230.247, 'weight': 1, 'content': [{'end': 1241.336, 'text': 'which then will provision or create persistent volumes that meets the needs of that claim, using provisioner from the actual storage backend.', 'start': 1230.247, 'duration': 11.089}, {'end': 1250.301, 'text': 'Now, this should help you understand the concepts of how data is persisted in Kubernetes is a high level overview in the later videos.', 'start': 1241.776, 'duration': 8.525}, {'end': 1258.625, 'text': 'I will go into more details of using these persistent components in different scenarios and more practical demos.', 'start': 1250.721, 'duration': 7.904}], 'summary': 'Kubernetes provisions persistent volumes to meet claims, providing a high-level overview with practical demos to follow.', 'duration': 28.378, 'max_score': 1230.247, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM1230247.jpg'}, {'end': 1273.025, 'src': 'embed', 'start': 1259.165, 'weight': 6, 'content': [{'end': 1262.327, 'text': "So, if you don't want to miss the future videos on this topic,", 'start': 1259.165, 'duration': 3.162}, {'end': 1269.551, 'text': 'then subscribe to my channel and click the notification bell so that you will be notified whenever I release a new video on my channel.', 'start': 1262.327, 'duration': 7.224}, {'end': 1273.025, 'text': 'So thank you for watching and see you in the next video.', 'start': 1270.252, 'duration': 2.773}], 'summary': 'Encourage viewers to subscribe and click the notification bell for future video updates.', 'duration': 13.86, 'max_score': 1259.165, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM1259165.jpg'}], 'start': 1078.141, 'title': 'Kubernetes storage classes', 'summary': 'Explains the role and understanding of storage classes in kubernetes, emphasizing dynamic provisioning, provisioner attribute, configuration of parameters, and the process of provisioning persistent volumes through pvc and storage class. it also hints at more detailed content in subsequent videos.', 'chapters': [{'end': 1176.747, 'start': 1078.141, 'title': 'Kubernetes storage class', 'summary': 'Explains the role of storage class in kubernetes, highlighting its ability to dynamically provision persistent volumes, the use of provisioner attribute to define storage backend, and the configuration of parameters for requesting persistent volume storage.', 'duration': 98.606, 'highlights': ['Storage class creates or provisions persistent volumes dynamically whenever PVC claims it, automating the process of creating or provisioning volumes in a cluster.', 'The provisioner attribute in the storage class configuration is crucial as it specifies which provisioner to be used for a specific storage platform or cloud provider to create the persistent volume component.', 'We configure parameters of the storage we want to request for a persistent volume, specifying the requirements for the storage needed.', 'The internal provisioners prefixed with Kubernetes.io are available internally, while for other storage types, external provisioners are used and need to be explicitly found and utilized in the storage class.']}, {'end': 1273.025, 'start': 1176.948, 'title': 'Understanding kubernetes storage classes', 'summary': 'Explains the concept of storage classes in kubernetes, highlighting the process of provisioning persistent volumes through pvc and storage class, and hints at the promise of more detailed content in subsequent videos.', 'duration': 96.077, 'highlights': ["Storage class abstracts the underlying storage provider and characteristics, while PVC configuration includes an attribute for referencing the storage class to be used, facilitating the provisioning of persistent volumes (PVs) that meet the claim's needs.", 'The PVC requests storage from the storage class, which then provisions or creates PVs using a provisioner from the actual storage backend, providing a high-level overview of how data is persisted in Kubernetes.', 'The chapter concludes by hinting at more detailed content in subsequent videos, encouraging viewers to subscribe and enable notifications for future updates.']}], 'duration': 194.884, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/0swOh5C3OVM/pics/0swOh5C3OVM1078141.jpg', 'highlights': ['Storage class creates or provisions persistent volumes dynamically whenever PVC claims it, automating the process of creating or provisioning volumes in a cluster.', 'The provisioner attribute in the storage class configuration is crucial as it specifies which provisioner to be used for a specific storage platform or cloud provider to create the persistent volume component.', 'The PVC requests storage from the storage class, which then provisions or creates PVs using a provisioner from the actual storage backend, providing a high-level overview of how data is persisted in Kubernetes.', "Storage class abstracts the underlying storage provider and characteristics, while PVC configuration includes an attribute for referencing the storage class to be used, facilitating the provisioning of persistent volumes (PVs) that meet the claim's needs.", 'We configure parameters of the storage we want to request for a persistent volume, specifying the requirements for the storage needed.', 'The internal provisioners prefixed with Kubernetes.io are available internally, while for other storage types, external provisioners are used and need to be explicitly found and utilized in the storage class.', 'The chapter concludes by hinting at more detailed content in subsequent videos, encouraging viewers to subscribe and enable notifications for future updates.']}], 'highlights': ['Storage class creates or provisions persistent volumes dynamically whenever PVC claims it, automating the process of creating or provisioning volumes in a cluster.', 'The PVC requests storage from the storage class, which then provisions or creates PVs using a provisioner from the actual storage backend, providing a high-level overview of how data is persisted in Kubernetes.', 'The process of creating and using persistent volume components in Kubernetes involves multiple abstractions for storage management, including creating persistent volumes, claims, and configuring pods to use the claims, offering benefits for storage management.', 'Various storage back ends like local storage, remote storage (e.g., NFS servers), or cloud storage (e.g., AWS block storage, Google Cloud storage) can be configured for the cluster, enabling applications to use different storage types.', "Developers can use PVC to deploy applications with ease, as they don't have to handle storage resources beyond deploying the applications. Deploying applications becomes easier for developers as they don't need to manage storage resources beyond deployment.", 'The flexibility of using multiple volumes of different types simultaneously within a pod or deployment reduces the manual effort and time required for storage allocation and deployment of applications.', "The administrator's role involves configuring the actual storage for the cluster, such as ensuring the presence and configuration of NFS server storage or creating and configuring cloud storage for the cluster.", 'Persistent Volume Claims (PVCs) are created with YAML configuration, defining the storage size, access type, and additional characteristics to claim a volume that satisfies the defined criteria.', "Kubernetes doesn't provide data persistence out of the box, requiring explicit configuration for each application needing data retention between pod restarts.", 'Manual configuration and creation of hundreds of persistent volumes for applications can be tedious, time-consuming, and messy.']}