Internal Network File System on OpenShift Container Platform
Learn about backing up and uninstalling an internal NFS server on OpenShift Container Platform.
Backing up Project Files and Folders
The block device backing the NFS server data must be backed up to protect the Cloudera AI project files and folders. The backup mechanism would vary depending on the underlying block storage system and backup policies in place.
-
Identify the underlying block storage to backup, first determine the NFS PV:
$ echo `kubectl get pvc -n cml-nfs -o jsonpath='{.items[0].spec.volumeName}'` pvc-bec1de27-753d-11ea-a287-4cd98f578292
-
For Ceph, the RBD volume/image name is the name of the dynamically created persistent volume (pvc-3d3316b6-6cc7-11ea-828e-1418774847a1).
Ensure this volume is backed up using an appropriate backup policy. The Backup/Restore feature is not yet supported for workbenches with an internal NFS.
Uninstalling the NFS server on OpenShift
Uninstall the NFS server provisioner using either of the following commands.
oc
and yaml
files:
$ oc delete scc nfs-scc
$ oc delete clusterrole cml-nfs-nfs-server-provisioner
$ oc delete clusterrolebinding cml-nfs-nfs-server-provisioner
$ oc delete namespace cml-nfs
$ helm tiller run cml-nfs -- helm delete cml-nfs --purge
$ oc delete scc nfs-scc securitycontextconstraints.security.openshift.io "nfs-scc" deleted
Storage provisioner change
For Cloudera AI on OpenShift Container Platform the underlying storage provisioner for internal workbenches has been changed since Cloudera 1.5.0.
Any new internal workbench on 1.5.0 uses CephFS as the underlying
storage provisioner. A storage class named ocs-storagecluster-cephfs
with
csi
driver set to openshift-storage.cephfs.csi.ceph.com
must
exist in the cluster for new internal workbenches to get provisioned.
Each workbench will have separate 1 TB internal storage.
Internal workbenches running on Private Cloud 1.4.0/1 use NFS server provisioner as the storage provisioner. These workbenches when upgraded to 1.5.0 continue to run with NFS Provisioner. However, NFS server provisioner is deprecated and is not be supported from 1.5.1 release. Therefore, migrate 1.5.0 upgraded workbench from NFS server provisioner to CephFS if you want to continue using the same workbench in 1.5.1 as well. If no such migration is completed, create a new 1.5.0 workbench and migrate the existing workloads to that before migrating to 1.5.1 release.
Portworx storage provisioner
Cloudera AI now supports Portworx as storage backend for workbenches. New Cloudera AI Workbenches can be configured to use Portworx volumes for storing data.
Steps:
- Create a Portworx storage class in your OpenShift Container Platform cluster manually. This
storage class should have the provisioner field set to either
pxd.portworx.com or kubernetes.io/portworx-volume.
Sample storage classes are:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: sample-portworx-storage-class-k8s parameters: repl: "3" allow_all_ips: "true" provisioner: kubernetes.io/portworx-volume reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: Immediate --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: sample-portworx-storage-class-pxd parameters: repl: "2" sharedv4: "true" sharedv4_svc_type: ClusterIP allow_all_ips: "true" provisioner: pxd.portworx.com reclaimPolicy: Retain allowVolumeExpansion: true volumeBindingMode: Immediate --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: sample-portworx-storage-class-pxd parameters: repl: "2" sharedv4: "true" sharedv4_svc_type: ClusterIP allow_ips: 10.17.0.0/16 provisioner: pxd.portworx.com reclaimPolicy: Retain allowVolumeExpansion: true volumeBindingMode: Immediate
- In the Cloudera AI Workbench provisioning page, enable Set Custom NFS Storage Class Name". Enter the name of storage class created manually above into the Storage Class Name text box.
- Enter the rest of the workbench details and submit. This will create a Portworx-backed Cloudera AI Workbench.