BretFisher / dogvscat

Sample Docker Swarm cluster stack of tools
http://dogvs.cat
MIT License
504 stars 127 forks source link

PR: create labels #18

Closed pascalandy closed 5 years ago

pascalandy commented 5 years ago

If it makes sense with you, I'll do a PR.

prerequisite

# machine name prefix
export node_prefix="alga"

label my nodes

#!/bin/bash
# set -x

# add label on managers
for server_id in {1..3}; do

  this_node=$(docker-machine ls | awk '{print $1}' | grep ${server_id} | tail -n1)

  docker-machine ssh ${node_prefix}${server_id} docker node update --label-add nodeid=${server_id} ${this_node}
  docker-machine ssh ${node_prefix}${server_id} docker node update --label-add nodename=${this_node} ${this_node}
  docker-machine ssh ${node_prefix}${server_id} docker node update --label-add nodetype="manager" ${this_node}
  docker-machine ssh ${node_prefix}${server_id} docker node update --label-add nodetag=${node_prefix} ${this_node}

done

# add label on workers (in the future I'll have more)
#.
#.
#.
#.
BretFisher commented 5 years ago

Hey thanks for the idea, but not sure why we need this in my example of deploying a few apps and ops tools. I'm also not sure why you would use some of those labels like nodename and nodetype.

pascalandy commented 5 years ago

EDIT (fixed typo)

I know it might be overkill for a basic use case. On my side, I need nodeid to force the deployment of Resilio service on a specific node. Resilio sync data between nodes (no matter if they are in swarm or not).

I agree that nodetype is a duplicate from a label already supported by Docker. It was more to brainstorm about the possibilities.

Feel free to close.