Nodes can be added after installation, using the "agent_add_node" make target.
To add a node, the cluster must be created with extra worker nodes using the NUM_EXTRA_WORKERS environment variable. This will configure VMs for extra worker nodes, but not include them in the initial cluster installation.
For example,
export NUM_EXTRA_WORKERS=2
will create two extra worker nodes, named extraworker-0 and extraworker-1.
The extra worker nodes must have a minimum disk size of 100GB. This can be specified using:
export EXTRA_WORKER_DISK=100
After the cluster has been installed. To add both nodes to the cluster:
make agent_add_node
To add a node to the cluster, the "agent_add_node" target performs the same steps a user would need to perform to add a node to the cluster using the node-joiner tool.
Steps:
-
Downloads and executes the node-joiner.sh script to generate the ISO (node.x86_64.iso) that can be used to join a node to the cluster. This script requires an input file, nodes-config.yaml, which describes the node being added. This input file is automatically generated by "agent_add_node" provided the cluster was created with extra worker nodes.
-
Boots the extra worker node using the generated ISO.
-
Downloads and executes the node-joiner-monitor.sh script to show progress. The monitor script also displays CSRs that will need to be approved for the node to join the cluster.
-
A user would then approve each CSR using "oc adm certificate approve" or equivalent. This target creates a background process that auto approves any CSRs.