Deploy Docker swarm cluster
First published: Monday, August 25, 2025 | Last updated: Monday, August 25, 2025Deploy Docker swarm cluster using the SloopStash Chef starter-kit.
Previous: Configure |
Deploy and manage Docker swarm cluster using Chef
# Switch to SloopStash Chef starter-kit directory.
$ cd /opt/kickstart-chef
# Create Chef role.
$ knife role create docker
{
"name":"docker",
"description":"",
"json_class":"Chef::Role",
"default_attributes":{},
"override_attributes":{},
"chef_type":"role",
"run_list":[
"recipe[system::setup]",
"recipe[system::configure]",
"recipe[system::stop]",
"recipe[system::start]",
"recipe[docker::setup]",
"recipe[docker::configure]",
"recipe[docker::stop]",
"recipe[docker::start]"
],
"env_run_lists":{}
}
On-premise (VirtualBox)
# Switch to SloopStash Chef starter-kit directory.
$ cd /opt/kickstart-chef
# Bootstrap Chef nodes for Docker manager nodes.
$ knife bootstrap vagrant@192.168.101.51 -i secret/ssh/node -y -N sloopstash-${ENVIRONMENT}-dkr-mgr-1 -E sloopstash-${ENVIRONMENT}
$ knife bootstrap vagrant@192.168.101.52 -i secret/ssh/node -y -N sloopstash-${ENVIRONMENT}-dkr-mgr-2 -E sloopstash-${ENVIRONMENT}
# Bootstrap Chef nodes for Docker worker nodes.
$ knife bootstrap vagrant@192.168.101.54 -i secret/ssh/node -y -N sloopstash-${ENVIRONMENT}-dkr-wkr-1 -E sloopstash-${ENVIRONMENT}
$ knife bootstrap vagrant@192.168.101.55 -i secret/ssh/node -y -N sloopstash-${ENVIRONMENT}-dkr-wkr-2 -E sloopstash-${ENVIRONMENT}
$ knife bootstrap vagrant@192.168.101.56 -i secret/ssh/node -y -N sloopstash-${ENVIRONMENT}-dkr-wkr-3 -E sloopstash-${ENVIRONMENT}
# Execute Chef role against Chef node.
$ knife node run_list add sloopstash-${ENVIRONMENT}-dkr-mgr-1 'role[docker]'
$ knife node run_list add sloopstash-${ENVIRONMENT}-dkr-mgr-2 'role[docker]'
$ knife node run_list add sloopstash-${ENVIRONMENT}-dkr-wkr-1 'role[docker]'
$ knife node run_list add sloopstash-${ENVIRONMENT}-dkr-wkr-2 'role[docker]'
$ knife node run_list add sloopstash-${ENVIRONMENT}-dkr-wkr-3 'role[docker]'
On-premise (VMware)
# Switch to SloopStash Chef starter-kit directory.
$ cd /opt/kickstart-chef
# Bootstrap Chef nodes for Docker manager nodes.
$ knife bootstrap vagrant@192.168.201.51 -i secret/ssh/node -y -N sloopstash-${ENVIRONMENT}-dkr-mgr-1 -E sloopstash-${ENVIRONMENT}
$ knife bootstrap vagrant@192.168.201.52 -i secret/ssh/node -y -N sloopstash-${ENVIRONMENT}-dkr-mgr-2 -E sloopstash-${ENVIRONMENT}
# Bootstrap Chef nodes for Docker worker nodes.
$ knife bootstrap vagrant@192.168.201.54 -i secret/ssh/node -y -N sloopstash-${ENVIRONMENT}-dkr-wkr-1 -E sloopstash-${ENVIRONMENT}
$ knife bootstrap vagrant@192.168.201.55 -i secret/ssh/node -y -N sloopstash-${ENVIRONMENT}-dkr-wkr-2 -E sloopstash-${ENVIRONMENT}
$ knife bootstrap vagrant@192.168.201.56 -i secret/ssh/node -y -N sloopstash-${ENVIRONMENT}-dkr-wkr-3 -E sloopstash-${ENVIRONMENT}
# Execute Chef role against Chef node.
$ knife node run_list add sloopstash-${ENVIRONMENT}-dkr-mgr-1 'role[docker]'
$ knife node run_list add sloopstash-${ENVIRONMENT}-dkr-mgr-2 'role[docker]'
$ knife node run_list add sloopstash-${ENVIRONMENT}-dkr-wkr-1 'role[docker]'
$ knife node run_list add sloopstash-${ENVIRONMENT}-dkr-wkr-2 'role[docker]'
$ knife node run_list add sloopstash-${ENVIRONMENT}-dkr-wkr-3 'role[docker]'
Previous: Configure |