Setting up dedicated nodes for your Informix deployment

You can dedicate one or more worker nodes to your Informix service. The nodes are then used exclusively by the database containers or pods.

About this task

Red Hat® OpenShift® uses the concepts of taint and toleration to dedicate a service such as Informix® to particular nodes. Nodes are tainted and labeled:

  • A taint prevents pods from being deployed on a tainted node.
  • A label allows for a pod with a matching toleration to be treated as an exception.

Taint and toleration work together to provide node exclusivity to deploying Informix on particular nodes

Perform these steps for each worker node that you plan to dedicate to the database deployment. The steps use Red Hat OpenShift CLI commands. The node_name is the name of a worker node on which you plan to host Informix.

Considerations for software-defined storage (such as OpenShift Container Storage)

When storage and compute share the same nodes, some additional considerations apply so that Informix and software-defined storage can be properly scheduled on the same worker nodes. See the optional Step 2 below.

Procedure

  1. Retrieve the name of the worker node that you want to dedicate to Informix:
    oc get nodes
  2. Optional: If you are using OpenShift Container Storage, see Product Documentation for OpenShift Container Platform 4.6 | Red Hat Customer Portal for information about dedicating nodes that is specific to that platform.
  3. Taint the node with the PreferNoSchedule effect and safely evict all of the pods from that node:
    oc adm taint node node_name icp4data=dedicated_specifier:PreferNoSchedule --overwrite
    oc adm drain node_name
    oc adm uncordon node_name
    

    Where dedicated_specifier is an identifier that is used to deploy a database only on nodes that have the dedicated_specifier label.

  4. Label the node:
    oc label node node_name icp4data=dedicated_specifier --overwrite
  5. Optional: Verify that the node is labeled:
    oc get node --show-labels
  6. Set the 'nodeSelector' and 'nodeSelectorRequired' attributes in the Informix CR to your dedicated_specifier label
    nodeSelectorRequired: true
      nodeSelector:
        type: dedicated_specifier