Portworx is a software defined persistent storage solution designed and purpose built for applications deployed as containers, via container orchestrators such as Kubernetes, Marathon and Swarm. It is a clustered block storage solution and provides a Cloud-Native layer from which containerized stateful applications programmatically consume block, file and object storage services directly through the scheduler.
In this tutorial, you will learn how to deploy multiple replicas of Nginx on Kubernetes and use Portworx Shared Volumes:
- Use a Portworx Storage Class to create a shared volume PVC with 3 replicas of the data
- Use a simple YAML file to deploy Nginx using this PVC
- See how the shared volume allows 3 pods to use the volume at the same time and read/write data to the same file
Shared Volumes Overview
To learn more about how shared volumes can be useful check out our docs page.
This scenario assumes you have already covered the following scenarios:

Steps
Using Portworx Shared Volumes
Wait for Kubernetes & Portworx to be ready
Let's first wait for Kubernetes and Portworx to be ready.
Step: Wait for Kubernetes to be ready
Click the below section which waits for all Kubernetes nodes to be ready.
watch kubectl get nodes
When all 4 nodes show status Running then hit clear
to ctrl-c and clear the screen.
Step: Wait for Portworx to be ready
Watch the Portworx pods and wait for them to be ready on all the nodes. This can take a few minutes since it involves pulling multiple docker images. You will see 'No resources found' until all images are pulled.
watch kubectl get pods -n kube-system -l name=portworx -o wide
When all the pods show STATUS Running and READY 1/1 then hit clear
to ctrl-c and clear the screen.
Now that we have the Portworx cluster up, let's proceed to the next step !