Filtrar nós por rótulo (label) do nó
Nesta etapa, aprenderemos como filtrar nós com base em rótulos (labels) atribuídos a eles. Os rótulos de nó são pares chave-valor que você pode anexar aos nós para fins organizacionais ou para controlar a colocação de serviços.
Primeiro, vamos adicionar um rótulo ao nosso nó manager. Adicionaremos um rótulo location=datacenter1. Para fazer isso, usamos o comando docker node update seguido pelo ID do nó e a flag --label-add.
Obtenha o ID do nó novamente usando docker node ls -q:
NODE_ID=$(docker node ls -q)
echo $NODE_ID
Agora, atualize o nó com o rótulo:
docker node update --label-add location=datacenter1 $NODE_ID
Você deve ver a saída confirmando a atualização do nó.
Para verificar se o rótulo foi adicionado, você pode inspecionar o nó:
docker node inspect $NODE_ID
Procure a seção Labels na saída. Você deve ver "location": "datacenter1".
Agora, vamos filtrar os nós com base neste rótulo. Usamos a flag --filter com a chave label e o rótulo no formato chave=valor.
docker node ls --filter label=location=datacenter1
Este comando exibirá apenas os nós que têm o rótulo location com o valor datacenter1. Em nosso caso, ele mostrará nosso nó manager.
Você também pode filtrar por nós que têm uma chave de rótulo específica, independentemente de seu valor, simplesmente fornecendo a chave:
docker node ls --filter label=location
Isso mostrará todos os nós que têm o rótulo location definido.