Chapter 9. Support – IBM Spectrum Scale CSI Driver for Container Persistent Storage

Support
IBM Spectrum Scale CSI driver can be deployed in varied environments (OS, architecture, and IBM Spectrum Scale version) and can work with multiple Kubernetes distributions (for example, Community Kubernetes or Red Hat OpenShift). This chapter describes the support matrix for IBM Spectrum Scale CSI driver and also gives details of the configurations that have been tested. The chapter also shares findings from our performance tests.
This chapter describes the following topics:
9.1 Support Matrix
This topic describes the support matrix for IBM Spectrum Scale CSI driver and hardware and software requirements that must be met for using IBM Spectrum Scale CSI driver.
Table 9-1 shows the support matrix for IBM Spectrum Scale CSI driver,
Table 9-1 Support matrix for IBM Spectrum Scale CSI driver
Component
Level
Architecture
IBM Spectrum Scale
5.0.4.1
x86_64
OpenShift
4.2
x86_64
Kubernetes
1.13,1.14,1.15,1.16, 1.17
x86_64
OS - RHEL
7.5, 7.6, 7.7
x86_64
9.2 Tested Configurations
Kubernetes can be deployed using many different tools and can be configured with various container runtime environments. Other variable components in a Kubernetes deployment are the network plug-in and the distribution. Setting up Kubernetes is the customer’s responsibility and a prerequisite for deploying the IBM Spectrum Scale CSI driver. Although there are many other Kubernetes deployment configurations possible, Table 9-2 describes the combinations that we have tested.
Table 9-2 Tested Kubernetes configurations for IBM Spectrum Scale CSI driver
Configuration
Comments
Kubernetes with docker runtime
Docker v18.03, 18.06
Kubernetes with CRI-O runtime
CRI-O v1.13, 1.14
OpenShift on VMWare with CoreOS on master nodes and RHEL on worker nodes
RHEL 7.6, 7.7
OpenShift on baremetal with CoreOS on master nodes and RHEL on worker nodes
RHEL 7.6, 7.7
Kubernetes with Calico network plug-in
Calico v3.7, 3.8.2
Kubernetes with Flannel network plug-in
Flannel 0.11.0
9.3 Performance
This section describes the findings from our performance testing of the IBM Spectrum Scale CSI driver. We did a comparative I/O performance study of container based workload versus traditional non-container based workload on IBM Spectrum Scale. We also tested performance of volume provisioning and volume deletion.
9.3.1 I/O from container
We compared I/O performance of a workload running from container application accessing IBM Spectrum Scale file system with the workload running from the host machine and accessing IBM Spectrum Scale file system. We observed that there was negligible performance difference between the two.
9.3.2 Volume provisioning
During our performance tests for volume provisioning we observed that serial PVC creation was faster in getting the PVC in a “Bound” state as compared to parallel PVC creation in batches of 10. This performance difference was more significant in case of independent file set based volume provisioning.
9.3.3 PVC deletion
The following items describe PVC deletion:
The PVC deletion with files and directories using kubectl delete pvc <pvc-name> is quick. This is because kubectl delete pvc <pvc-name> is an asynchronous operation and does not wait for the deletion of its related object (for example, an Independent file set).
The total time taken for the deletion (unlink + delete) of an Independent file set object corresponding to a PVC depends on the number of files and directories stored within the independent file set. because the independent file set deletion is a background operation during PVC deletion, this does not impact the foreground PVC deletion (using kubectl delete pvc <pvc-name>) time.