- Lab
- A Cloud Guru
Minikube: Using Local Storage
In this hands-on lab, we will be creating a static volume and then mapping that volume into our pod on our Kubernetes cluster. We will be using predefined YAML files for this, and manually building each object from those files.
Path Info
Table of Contents
-
Challenge
Start the Minikube Cluster (Remember to Use the Correct Driver)
Issue this command:
sudo minikube start --vm-driver none
-
Challenge
Using the Provided YAML Files, Create a Volume with a Local Mapping and then a Claim and Pod for that Volume
Locate the
local
folder in thecloud_user
home directory, and get into it:ls cd local
In this directory inspect the
pv-hostPath-volume.yaml
(withcat
) and locate the local mapping:hostPath: path: "/home/cloud_user/html"
Create the directory indicated in the hostPath:
mkdir /home/cloud_user/html
In this directory create an
index.html
file:echo 'this is the local index' >> /home/cloud_user/html/index.html
Create the volume and PersistentVolumeClaim and ensure that they are bound:
sudo kubectl apply -f /home/cloud_user/local/pv-hostPath-volume.yaml sudo kubectl apply -f /home/cloud_user/local/pv-hostPath-claim.yaml sudo kubectl get pv # this output should show the volume status as Available sudo kubectl get pvc # this output should show Bound
Now let's create the Nginx pod and then run
curl
on the pod IP to ensure that the custom index loads:sudo kubectl apply -f /home/cloud_user/local/pv-hostPath-pod.yaml sudo kubectl get po -o wide
There's going to be an IP address in the output of that command. We need it in this next command:
curl <IP_ADDRESS>
We should see what we put in the
index.html
file earlier. Now, to see the power of what we've done here, let's append to that file:echo 'this is a new line' >> /home/cloud_user/html/index.html
Then we'll run that
curl
command again, and see that our new content is showing up -- without having to restart the container!
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.