You can dedicate one or more worker nodes to your Db2® database 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 Db2 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 Db2 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 Db2.
Procedure
-
Retrieve the name of the worker node that you want to dedicate to Db2:
-
Taint the node with the NoSchedule effect and safely evict all of the pods
from that node:
oc adm taint node node_name icp4data=dedicated_specifier:NoSchedule --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. By default, the
dedicated_specifier for
Db2 is
database-db2oltp
. The
--overwrite flag is only required if the node is already tainted or labeled and
ensures that the taint or label is replaced.
Important: In the case
of an error after running the oc adm drain command, the administrator must review
the error message and execute the command with the specified options.
-
Label the node:
oc label node node_name icp4data=dedicated_specifier --overwrite
Note: When you
create a database
deployment, you will provide the
dedicated_specifier label that you used
in the
Value for node label field.
- Optional:
Verify that the node is labeled:
oc get node --show-labels
What to do next
Configure storage for your Db2
instance. See Configuring database storage for Db2 for more details.