Adding and removing nodes

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:

  • 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.
  • As a best practice for etcd optimal cluster size, we recommend you add any additional Kubernetes master nodes in pairs, so that the total number (including the AE master) is an odd number.
  • If you’re adding a GPU node, make sure it meets the GPU requirements.

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.
  1. Click Manage Resources.
  2. Log in to the Operations Center using the Administrator credentials configured after installation.
  3. Select Servers from the menu on the left to display the private or public IP address, hostname and profile of each node on your system.

To add an existing server to Anaconda Enterprise:

  1. Click the Add Existing 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 log on to a server:

Click on the IP address of the server you want to work with, and select SSH login as root to open a terminal window.

../../_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-5.2.2 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. For more information, see Cloud installation requirements.

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

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