Adding and removing nodes (Gravity)

You can view, add, edit and delete server nodes from Anaconda Enterprise using the Admin Console’s Operations Center. If you would prefer to use a command line to join additional nodes to the AE master, follow the instructions provided below.

NOTES:

  • Anaconda Enterprise does not support running heterogeneous versions in the same cluster. Before adding a new node, verify that the node is operating the same version of the OS as the rest of the cluster.

  • If you’re adding a GPU node, make sure it meets the GPU requirements.

  • Each installation can only support a single AE master node, as this node includes storage for the platform. DO NOT add an additional AE master node to your installation.


To manage the servers on your system:

  1. Log in to Anaconda Enterprise, select the Menu icon icon in the top right corner and click the Administrative Console link displayed at the bottom of the slide out window. You must be logged in with a user assigned to the ae-admin role.

  1. Click Manage Resources.

  2. Log in to the Operations Center using the Administrator credentials configured after installation.

  3. Select Nodes from the menu on the left to display the configured nodes in your cluster, their IP address, hostname and profile.


To add an existing server to Anaconda Enterprise:

  1. Click the Add Node button at the top right.

../../_images/add_node.png

  1. Select an appropriate profile for the server and click Continue.

  2. Copy and paste the command provided into a terminal window to add the server.

    When you refresh the page, your server will appear in the list.


To remove a server node:

Click the Actions menu icon-act at the far right of the node you want to remove

and select Delete….

../../_images/server-delete.png

To log on to a server:

Click on the terminal icon icon-term of the server you want to work with,

and select root to open a terminal window. It will open a new tab in your browser.

../../_images/server-log-in.png

When you are finished, simply close the console window by clicking the icon2 icon.


Using the command line to add nodes

  1. Download the gravity binary that corresponds to your version of Anaconda Enterprise from the S3 location provided to you by Anaconda onto the server you’re adding to the cluster.

  2. Rename the file to something simpler, then make it executable. For example:

    mv gravity-binary-6.1.9 gravity
    chmod +x gravity
    
  3. On the AE master, run the following command to obtain the join token and IP address for the AE master node:

    gravity status
    

The results should look similar to the following:

../../_images/join-token.png

  1. Copy and paste the join token for the cluster and the IP address for the AE master somewhere accessible. You’ll need to provide this information when you add a new worker node. You’ll also need the IP address of the server node you’re adding.

  2. On the worker node, run the following command to add the node to the cluster:

    ./gravity join --token JOIN-TOKEN --advertise-addr=NODE-IP --role=NODE-ROLE --cloud-provider=CLOUD-PROVIDER MASTER-IP-ADDR
    

Where:

JOIN-TOKEN = The join token that you obtained in Step 3.

NODE-IP = The IP address of the worker node. This can be a private IP address, as long as the network it’s on can access the AE master.

NODE-ROLE = The type of node you’re adding: ae-worker, gpu-worker, or k8s-master.

CLOUD-PROVIDER = This is auto-detected, and can therefore be excluded unless you don’t have Internet access. In this case, use generic.

MASTER-IP-ADDR = The IP address of the AE master that you obtained in Step 3.

Warning

The --role flag must be provided and assigned to either ae-worker, gpu-worker, or k8s-master. Without it, the node will be added with the role ae-master and may cause your cluster to crash.

The progress of the join operation is displayed:

../../_images/join-status2.png

  1. To monitor the impact of the join operation on the cluster, run the gravity status command on the AE master.

The output will look similar to the following:

../../_images/join-status.png

Note that the size of the cluster is expanding and the status of the new node being added is offline. When the node has successfully joined, the cluster returns to an active state, and the status of the new node changes to healthy:

../../_images/join-complete.png