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.
- Install DC/OS using the custom installation method.
- Deploy at least one master and one private agent node.
- Retrieve the archived DC/OS installer file (
dcos-install.tar
) from your installation. - Install the CLI JSON processor jq.
- Install and configure SSH. This is required to access 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
-
Uninstall DC/OS on the agent node.
sudo /opt/mesosphere/bin/dcos-shell sudo -i pkgpanda uninstall sudo systemctl stop dcos-mesos-slave sudo systemctl disable dcos-mesos-slave
-
Remove the old directory structures on the agent node.
sudo rm -rf /etc/mesosphere /opt/mesosphere /var/lib/mesos /var/lib/dcos
-
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. -
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
-
SSH to the machine:
ssh $USER@$AGENT
-
Create a directory for the installer files:
sudo mkdir -p /opt/dcos_install_tmp
-
Unpackage the
dcos-install.tar
file:sudo tar xf dcos-install.tar -C /opt/dcos_install_tmp
-
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