Okay, let's talk about Kubernetes basics. Let's talk about the volumes now. So Docker provides data storage for containers, right? You've got to put your data somewhere, you have to have storage. But volumes do not provide shared between all containers, or a lifecycle management either. It's very important, but lifecycle management in data is an important topic that we all talk about these days. Anyway so, dockers now provides volume driven, okay? Not shown in the slide here but volume-driven host and remaining persistent volumes. And we'll show you those in the coming slides. Okay? So Kubernetes, volumes allow containers in pod to share data, and to be stateful. A volume is just a directory. And how it gets created depends on the type. Here is an example, Kubectl. I call it that. Okay? Create volume, and that's all, you run that out of Kubernetes line itself command line, and it'll create a volume. Here's another one that will create a volume that consumes that data, so again kubectl create -f pod, which is the YAML file created depending on the YAML description. The volume is attached to the pod, and made available to the containers before they are brought online. So you have that storage there before the containers are brought online. We want to be able to have storage available in case it already has to purchase something, or has to relocate something, or put something in that container as it comes up, or during the process of it coming up maybe logs. Once the volume is attached, and you could see here mnt/vol, which is the Unix equivalent mounting a volume, the data can be mounted into that container file system. Then the container is run, and it can get the mounted data from that volume itself. And some volumes can be shared. The lifecycle of the pod itself, in other words they'll stay around as long as that pod is around. And see you have here also on the bottom the configuration map and the secret map. Let's talk a little bit about the secret stores and all the sensitive information, the encryption information, the passwords, the keys, it stores a lot of information in there, and the config maps are basically stubby differential maps, they are used for sharing string data, strong configuration, making sure everything and all the pieces are put together and are working basically at the ConfigMap. Here's a complete overview of a cluster. So you have kubectl, that's a guy sitting in the blue guy at the left-hand side, there's the Blue Man Group. Okay? Have a couple applications, application one and application two. Then you have the app server, it could be anything, okay? It could be a web server. Okay? And then you have the networking services on the top, and as you go towards the right, you'll see the different nodes with the pods inside. So you'll have a pod with a kubelet in it, running a green and yellow, which are two different applications inside one node. Okay? This is what we're talking about, these are the advantages Kubernetes. Again same thing over and over again. You could also have nodes that are running no pods at all, being a standby or just hanging there if you need them. Okay? As a backup. And you could have pods like on the bottom, which are running on a single node. So it could be multiple or it could be one for that matter. At the end, far right, you finally have your data storage services where everything goes. All your data is stored. Now it's time to use Google Container Engine and Kubernetes to deploy, manage, and update a sample application. It's a modern web-based application called a 12-Factor app. That's well-suited for being built using containers. It includes modules for user authentication, backend data retrieval, and a web frontend. It's based on several docker images, one that includes authentication and greeting services, two micro services and an Nginx web frontend. You'll provision its resources such as pods, services, and volumes, and split them into micro services, and scale and test them.