Nadanie Docker Swarm i etykiety węzłów – co to jest i po co ich używać?Nadanie


W środowiskach opartych na Docker Swarm warto zadbać o dobrą organizację i kontrolę nad tym, gdzie uruchamiane są poszczególne usługi. Jednym z najprostszych i najpotężniejszych narzędzi do tego celu są etykiety węzłów (node labels).

W tym wpisie pokażę Ci:

  • do czego służą etykiety,
  • jak je nadać,
  • i jak sprawdzić ich przypisanie.

Co to są etykiety węzłów (node labels)?

Etykiety węzłów to pary klucz=wartość, które przypisujesz do konkretnych serwerów w klastrze Docker Swarm. Umożliwiają one:

  • Grupowanie węzłów wg roli (np. role=frontend, stack=monitoring)
  • Precyzyjne rozmieszczanie usług (np. --constraint 'node.labels.stack == monitoring')
  • Skalowanie z zachowaniem logiki (np. HA tylko na określonych maszynach)
  • Ułatwienie automatyzacji i utrzymania klastra

Jak nadać etykiety węzłom w Swarmie?

Etykiety możesz nadawać tylko z poziomu węzła manager, ponieważ tylko on ma uprawnienia do zarządzania klastrem. Na sam początek sprawdźmy listę węzłów:

docker node ls

Następnie nadajemy etykietę dla wybranych serwerów. W moim przypadku mam tylko dwa serwery w klastrze swarm i obu nadam tą samą etykietę monitoring:

# nadajemy etykiety na managerze
docker node update --label-add role=manager --label-add stack=backend serer1
docker node update --label-add role=worker --label-add stack=monitoring serwer2

Aby sprawdzić czy nasze zmiany zostały odpowiednio zatwierdzone, wydajemy następujące polecenie dla serwera1:

docker node inspect serwer1 --format '{{ json .Spec.Labels }}'

Aby zweryfikować kolejne serwery zmieniamy nazwę serwera i podajemy podobną składnie jak dla serwer1.

W kolejnej części pokażę Ci, jak wykorzystać te etykiety w praktyce.


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *