}}

Converting Agent Node Types

Updated: July 17, 2017

You can convert agent nodes to public or private for an existing DC/OS cluster.

Agent nodes are designated as public or private during installation. By default, they are designated as private during GUI or CLI installation.

Prerequisites:

These steps must be performed on a machine that is configured as a DC/OS node. Any tasks that are running on the node will be terminated during this conversion process.

  • DC/OS is installed using the custom installation method and you have deployed at least one master and one private agent node.
  • The archived DC/OS installer file (dcos-install.tar) from your installation.
  • The CLI JSON processor jq.
  • SSH installed and configured. This is required for accessing nodes in the DC/OS cluster.

Determine the node type

You can determine the node type by running this command from the DC/OS CLI.

  • Run this command to determine how many private agents are there in the cluster. A result of 0 indicates that there are no private agents.
    dcos node --json | jq --raw-output '.[] | select(.reserved_resources.slave_public == null) | .id' | wc -l
    
  • Run this command to determine how many public agents are there in the cluster. A result of 0 indicates that there are no public agents.
    dcos node --json | jq --raw-output '.[] | select(.reserved_resources.slave_public != null) | .id' | wc -l
    

Uninstall the DC/OS private agent software

  1. Uninstall DC/OS on the agent node.
    sudo -i /opt/mesosphere/bin/pkgpanda uninstall
    sudo systemctl stop dcos-mesos-slave
    sudo systemctl disable dcos-mesos-slave
    
  2. Remove the old directory structures on the agent node.
    sudo rm -rf /etc/mesosphere /opt/mesosphere /var/lib/mesos /var/lib/dcos
    
  3. Restart the machine.
    sudo reboot
    

Install DC/OS and convert agent node

Copy the archived DC/OS installer file (dcos-install.tar) to the node that that is being converted. This archive is created during the GUI or CLI installation method.

  1. Copy the files to your agent node. For example, you can use Secure Copy (scp) to copy dcos-install.tar to your home directory:
    scp ~/dcos-install.tar $username@$node-ip:~/dcos-install.tar
    
  2. SSH to the machine:
    ssh $USER@$AGENT
    
  3. Create a directory for the installer files:

    bash
    sudo mkdir -p /opt/dcos_install_tmp

  4. Unpackage the dcos-install.tar file:

    sudo tar xf dcos-install.tar -C /opt/dcos_install_tmp
    
  5. Run this command to install DC/OS on your agent nodes. You must designate your agent nodes as public or private.

    Private agent nodes:

    sudo bash /opt/dcos_install_tmp/dcos_install.sh slave
    

    Public agent nodes:

    sudo bash /opt/dcos_install_tmp/dcos_install.sh slave_public