Compatibility and requirements

For the complete and up-to-date information about the compatibility and requirements for using the IBM block storage CSI driver, refer to its latest release notes. The release notes detail supported operating system and container platform versions, as well as microcode versions of the supported storage systems. You can find the latest release notes on IBM block storage CSI driver Knowledge Center website.

About this task

Perform these steps for each worker node in Kubernetes cluster to prepare your environment for installing the CSI (Container Storage Interface) driver.

Procedure

  1. Install the following RHEL 7.x packages to ensure Fibre Channel and iSCSI connectivity. Skip this step if the packages are already installed.
    • iscsi-initiator-utils (if iSCSI connection is required)
    • xfsprogs (if a Fibre Channel, XFS file system, is required)
    yum -y install iscsi-initiator-utils
    yum -y install xfsprogs
  2. Configure Linux multipath devices on the host.

    Create and set the relevant storage system parameters in the /etc/multipath.conf file. You can also use the default multipath.conf file, located in the /usr/share/doc/device-mapper-multipath-* directory.

    Verify that the systemctl status multipathd output indicates that the multipath status is active and error-free.

    
    yum install device-mapper-multipath
    sudo modprobe dm-multipath
    systemctl enable multipathd
    systemctl start multipathd
    systemctl status multipathd
    multipath -ll
  3. Configure storage system connectivity.
    1. Define the hostname of each Kubernetes node on the relevant storage systems with the valid WWPN (for Fibre Channel) or IQN (for iSCSI) of the node.
      root@k8s-user-v18-master:~# kubectl get nodes
      NAME               STATUS    ROLES      AGE      VERSION
      k8s-master         Ready     master    34d       v1.14.1
      k8s-worker-node1   Ready     <none>    34d       v1.14.1
      k8s-worker-node2   Ready     <none>    34d       v1.14.1
    2. For Fibre Channel, configure the relevant zoning from the storage to the host.
    3. For iSCSI, perform the following steps:
      1. Make sure that the login to the iSCSI targets is permanent and remains available after a reboot of the worker node. To do this, verify that the node.startup in the /etc/iscsi/iscsid.conf file is set to automatic. If not, set it as required and then restart the iscsid service ($ service iscsid restart).
      2. Discover and log into at least two iSCSI targets on the relevant storage systems.
        $> iscsiadm -m discoverydb -t st -p ${STORAGE-SYSTEM-iSCSI-PORT-IP1}:3260 --discover
        $> iscsiadm -m node  -p ${STORAGE-SYSTEM-iSCSI-PORT-IP1} --login
        
        $> iscsiadm -m discoverydb -t st -p ${STORAGE-SYSTEM-iSCSI-PORT-IP2}:3260 --discover
        $> iscsiadm -m node  -p ${STORAGE-SYSTEM-iSCSI-PORT-IP2} --login
      3. Verify that the login was successful and display all targets that you logged into. The portal value must be the iSCSI target IP address.
        $> iscsiadm -m session --rescan
        Rescanning session [sid: 1, target: {storage system IQN},
        portal: {storage system iSCSI port IP},{port number}