Note: The Dell EMC Isilon storage array has been renamed to PowerScale.
The PowerScale storage array delivers high levels of performance and efficiency with an integrated machine learning engine. For more information, see Dell EMC PowerScale Family.
Prerequisites include:
The following steps assume that there is a running Dell EMC PowerScale system:
[core@csah ~]$ oc new-project Isilon
Note: The secret name must be isilon-creds.
[core@csah ~]$ oc create -f isilon-creds.yaml
[core@csah ~]$ oc create -f <YAML file>
[core@csah isilon]$ oc get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
isilon-controller-68bdf67d46-9f9x5 5/5 Running 0 19s 10.129.2.161 compute-3.example.com <none> <none>
isilon-controller-68bdf67d46-nw4v2 5/5 Running 0 19s 10.131.0.190 compute-2.example.com <none> <none>
isilon-node-2vhvn 2/2 Running 0 19s 192.168.46.24 compute-1.example.com <none> <none>
isilon-node-k4rs5 2/2 Running 0 19s 192.168.46.27 compute-3.example.com <none> <none>
isilon-node-npls6 2/2 Running 0 19s 192.168.46.25 compute-2.example.com <none> <none>
[core@csah isilon]$ oc get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
isilon-nfs csi-isilon.dellemc.com Delete WaitForFirstConsumer true 32s
To perform application builds, configure the image registry for the OpenShift cluster.
To provision storage for the image registry, create a PVC and assign the storage to the image registry configuration. Run the commands as user core on the CSAH node unless otherwise specified.
Note: Ensure that the namespace is openshift-image-registry. Any other namespace causes an error. The recommended size is greater than 100 G. Assign a volume that supports ReadWriteMany access mode.
[core@csah ~]$ oc create -f dynfsreg.yaml
[core@csah ~]$ oc edit configs.imageregistry.operator.openshift.io
spec:
managementState: Managed
storage:
pvc:
claim: isilon-nfs-image-registry
Note: For operators such as image-registry, apiserver, and so on, the PROGRESSING column displays the True state for a few minutes before the AVAILABLE column displays the True state.
oc get co
Note: While the image-registry cluster operator status is being verified, the status of other cluster operators such as operator-lifecycle-manager and kube-apiserver might change. We recommend that you check all cluster operators before continuing.
[core@csah ~]$ oc get pods -n openshift-image-registry
NAME READY STATUS RESTARTS AGE
cluster-image-registry-operator-6895dd787f-knqcp 1/1 Running 0 19d
image-pruner-1609804800-jk6g2 0/1 Completed 0 21h
image-registry-77bdfcb58b-jjgp2 1/1 Running 0 9d
node-ca-526xv 1/1 Running 0 19d
node-ca-5hsks 1/1 Running 0 19d
node-ca-7tjxb 1/1 Running 0 19d
node-ca-99zx7 1/1 Running 0 19d
node-ca-9gjxx 1/1 Running 0 19d
node-ca-bgw6k 1/1 Running 0 19d
[core@csah ~]$ oc describe pod image-registry-77bdfcb58b-jjgp2 -n openshift-image-registry | grep -i volumes -A 4
Volumes:
registry-storage:
Type: PersistentVolumeClaim (a reference to PersistentVolumeClaim in the same namespace)
ClaimName: isilon-nfs-image-registry
ReadOnly: false
[core@csah ~]$ oc debug nodes/etcd-0.example.com
Starting pod/etcd-0examplecom-debug ...
To use host binaries, run `chroot /host`
Pod IP: 192.168.46.21
If you don't see a command prompt, try pressing enter.
sh-4.2# chroot /host
sh-4.4# oc login -u kubeadmin -p xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
Login successful.
You have access to 53 projects, the list has been suppressed. You can list all projects with 'oc projects'
Using project "default".
sh-4.4# podman login -u kubeadmin -p $(oc whoami -t) image-registry.openshift-image-registry.svc:5000
Login Succeeded!
[core@csah isilon]$ oc create -f dynfspvc.yaml
[core@csah isilon]$ oc get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
dynamic-nfs-isilon-pvc Pending isilon-nfs 12s
Note: The volume is in a pending state. Create a pod and attach the PVC to change the status to BOUND.
[core@csah ~]$ oc create -f dynfspod.yaml
[core@csah isilon]$ oc exec -it dynamic-nfs-isilon-pod -- df -h /usr/share/nginx/html
Filesystem Size Used Avail Use% Mounted on
192.168.182.85:/ifs/csipscale-d68e2b6415 4.0G 0 4.0G 0% /usr/share/nginx/html
[core@csah isilon]$ oc get volumesnapshotclass
NAME DRIVER DELETIONPOLICY AGE
isilon-snap csi-isilon.dellemc.com Delete 55s
[core@csah isilon]$ oc exec -it dynamic-nfs-isilon-pod /bin/bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
root@dynamic-nfs-isilon-pod:/# touch /usr/share/nginx/html/sample
root@dynamic-nfs-isilon-pod:/# echo 'isilon backup' > /usr/share/nginx/html/sample
[core@csah ~]$ oc create -f snapshot.yaml
[core@csah isilon]$ oc get volumesnapshot
NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT CREATIONTIME AGE
isilon-snapshot true dynamic-nfs-isilon-pvc 14 isilon-snap snapcontent-a29c16f2-8983-46e9-9b58-546852e2322b 42m 7m46s
[core@csah isilon]$ oc create -f restorepod.yaml
pod/restore-pod created
[core@csah isilon]$ oc get pods restore-pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
restore-pod 1/1 Running 0 81s 10.128.2.68 compute-1.example.com <none> <none>
[core@csah isilon]$ oc get pvc isilon-restore
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
isilon-restore Bound csipscale-8aa9225fa8 4Gi RWX isilon-nfs 3m29s
[core@csah isilon]$ oc exec -it restore-pod -- cat /usr/share/nginx/html/sample
isilon backup