Manage Data Plane Nodes of the Cluster

The Virtual Appliance infrastructure services might run out of resources when handling large workloads. In these cases, adding an extra node to the cluster's data plane can help the infrastructure services to manage the increased workloads.

If a data plane node in the cluster fails, replace the failed node as follows:
  1. Deploy a new node using the same Virtual Appliance version as the control-plane nodes.
  2. Remove the failed data plane node. See Delete the Data Plane Nodes.
  3. Add and join a new data plane node to the cluster. See Add a Data Plane Node.

Add a Data Plane Node

Note: Do not add a data plane node during the cluster upgrade. However, you can add the data plane node after the upgrade is successful.
  1. Run the following command on the cluster:
    CODE
    appdctl cluster add-node

    This command generates a command to add the data plane node to the cluster.

    The following is a sample output:

    CODE
    Enter the following command on the node as master to join the cluster:
    appdctl cluster join 10.X.X.X:25000/11c4d3d1234288c8d7135ce470aeb9e8/b3f373551c9b
    Enter the following command on the node as worker to join the cluster:
    appdctl cluster join 10.X.X.X:25000/11c4d3d1234288c8d7135ce470aeb9e8/b3f373551c9b --worker
  2. Run the command that has the --worker flag in the node that you want to join to the cluster.

    For example:

    CODE
    appdctl cluster join 10.X.X.X:25000/11c4d3d1234288c8d7135ce470aeb9e8/b3f373551c9b --worker
  3. Verify whether the cluster includes the data plane node:
    CODE
    kubectl get nodes
    microk8s status
Note: After you add a node to the cluster, restart the cluster for the changes to take effect.

Delete the Data Plane Nodes

You can delete the data plane nodes if they are not required. Complete the following steps to delete the data plane nodes:

  1. Run the drain command on the node.
    CODE
    kubectl drain <Node_Name> - -ignore-daemonsets --delete-emptydir-data

    This command prevents the node from scheduling workloads.

  2. Delete the node.
    CODE
    kubectl delete node <Node_Name>

    This command removes the data plane node from the cluster.