Performing pre-installation tasks
The following conditions must be met before the installation:
|
Important: You can either choose to use IBM Block Storage or IBM Spectrum Scale, but not
both the IBM Storage Enabler for Containers on the same Kubernetes or ICP cluster. Ensure that only
one type of IBM storage back end is configured on the same Kubernetes or ICP cluster.
|
- Ensure that the IBM Spectrum Scale version 5.x.x or above is installed along with the IBM Spectrum Scale management API (GUI).
- Verify that there is a proper communication link between the IBM Spectrum Scale Management API Server (GUI) and the Kubernetes cluster.
- Ensure that all Kubernetes worker nodes have the IBM Spectrum Scale client installed on them.
- Verify that quota is enabled for all the file systems being used for creating persistent volumes.
- The file system used for the persistent volume must be mounted on all the worker nodes at all times.
- Ensure that all the worker nodes are running RedHat Enterprise Linux (RHEL) x86_64, ppc64le, s390x or SLES 12 SP3 s390x. For more information on supported RHEL versions, check the IBM Spectrum Scale support matrix at IBM Spectrum Scale FAQs.
- All worker nodes must be running the same platform (hardware and Linux distribution).
- It is recommended to use the kubeadm tool to install a Kubernetes cluster.
- Kubernetes controller-manager process must be run as root.
- Ensure that IBM Cloud Private (ICP) or Kubernetes is installed. For supported version, see the release notes of IBM Storage Enabler for Containers.
- Ensure that SELinux is in disabled mode.
- Ensure that the node
kubelet servicehas the attach/detach capability enabled. The enable-controller-attach-detach is set to True by default. However, confirm that this option is set to True if you are debugging a functional problem. - If the controller-manager is configured to run as a pod in your Kubernetes cluster, you must allow the events to be recorded in the controller-manager log file. To enable this, add the default path /var/log to the log file as a host path. You can change this directory by configuring the FLEX-LOG-DIR parameter in the ubiquity-configmap.yml file.
- Run the # mmlsmount all -L command to ensure that the GPFS file systems are
mounted before starting Kubernetes on the nodes.The command gives an output similar to the following:
File system gpfs0 is mounted on 6 nodes: 192.168.138.94 borg45 192.168.138.62 borg48 172.16.7.41 borg44 192.168.138.59 borg50 192.168.138.95 borg47 192.168.138.92 borg43 - Run the # mmlsfs gpfs0 -Q command to ensure that the quota is enabled on the
file systems.The command gives an output similar to the following:
flag value description ------------------- ------------------------ ----------------------------------- -Q user;group;fileset Quotas accounting enabled user;group;fileset Quotas enforced none Default quotas enabledIf you fail to obtain this output, run the # mmchfs gpfs0 -Q yes command.
- Run the following command to ensure that the GUI server is running and can communicate with the
Kubernetes nodes: curl -k -u gui_admin_user:gui_adm_user_password -X GET --header
'accept:application/json' 'https://gui_node:443/scalemgmt/v2/filesystems'.The command gives an output similar to the following:
{ "filesystems" : [ { "name" : "gpfs0" } ], "status" : { "code" : 200, "message" : "The request finished successfully." } - Run the mmchconfig enforceFilesetQuotaOnRoot=yes command to set the enforceFilesetQuotaOnRoot value to yes. This ensures that quotas are enforced for the PVC created with root user ID.
- Run the # mmlsnodeclass command to ensure that the Kubernetes are not
installed or configured on the nodes running the IBM Spectrum Scale GUI. This prevents port number
conflicts and memory usage concerns.The command gives an output similar to the following. In this example, the name of the node running the IBM Spectrum Scale GUI is defined by the Node Class Name with value GUI_MGMT_SERVERS. In this example, the hostname is
borg43.<domain>.Node Class Name Members --------------------- ----------------------------------------------------------- GUI_MGMT_SERVERS borg43.<domain> GUI_SERVERS borg45.<domain>,borg47.<domain> borg48.<domain>,borg43.<domain> - Ensure that IBM Spectrum Scale is tuned for the Kubernetes pod workload and the memory
requirement of pods.Note:
The Kubernetes and the running of workloads in pods consumes additional memory, beyond what similar workloads might consume running outside of Kubernetes.
The additional memory overheads of the Kubernetes environment must be considered when making choices for IBM Spectrum Scale configuration parameters that are related to memory usage. For example, the mmchconfig options pagepool and maxFilesToCache.
|
Note: IBM Cloud Private (ICP) and IBM Spectrum Scale GUI uses the port 443.
|