Skip to content

Lab‐6: Providing persistent storage to Web application

Student User edited this page Sep 16, 2024 · 1 revision

STEP-1 Create a namespace/project to deploy the application

[student@servera ~]$ oc create namespace test200

STEP-2 Switch to test200 namespace.

[student@servera ~]$ oc config set-context --namespace test200 --current

STEP-3 Ensure that you are in test200 project/namespace.

[student@servera ~]$ oc project

STEP-4 Create a test2 deployment resource.

[student@servera ~]$ oc create deployment test2 --image quay.io/anandpavithran/infosys:2.0

STEP-5 List resources created.

[student@servera ~]$ oc get all

STEP-6 Create a service and list resources.

[student@servera ~]$ oc create service clusterip test2 --tcp=8080:8080


[student@servera ~]$ oc get all

STEP-7 Expose the application to the outside world and check the route resource.

[student@servera ~]$ oc expose svc test2


[student@servera ~]$ oc get route

STEP-8 Test the application.

[student@servera ~]$ curl http://test2-test200.apps.example.com

STEP-9 List volumegroup(vg),logicalvolume(lv),storageclass(sc),persistentvolume(pv),and persistentvolumeclaim.

[student@servera ~]$ sudo vgs


[student@servera ~]$ sudo lvs


[student@servera ~]$ oc get sc


[student@servera ~]$ oc get pv


[student@servera ~]$ oc get pvc

STEP-10 Create a persistent volume claim (pvc).

[student@servera ~]$ oc set volumes deployment/test2 --add --name example-pv-storage --type persistentVolumeClaim --claim-mode rwo --claim-size 1Gi --mount-path /var/www/html --claim-name example-pv-claim

STEP-11 List volumegroup(vg),logicalvolume(lv),storageclass(sc),persistentvolume(pv),and persistentvolumeclaim.

[student@servera ~]$ sudo vgs


[student@servera ~]$ sudo lvs


[student@servera ~]$ oc get sc


[student@servera ~]$ oc get pv


[student@servera ~]$ oc get pvc

STEP-12 Mount logical volume listed from previous command to /mnt and add index.html.

[student@servera ~]$ sudo mount /dev/vmdisk/REPLACE-NAME-OF-LV /mnt


[student@servera ~]$ sudo echo "FROM LOGICAL VOLUME" > /mnt/index.html

STEP-13 Test the application.

[student@servera ~]$ curl http://test2-test200.apps.example.com

STEP-14 Delete test200 project/namespace.

[student@servera ~]$ oc delete namespace test200

Clone this wiki locally