Содержание

Управляйте узлами в swarm

В рамках жизненного цикла управления swarm вам может потребоваться просмотреть или обновить узел

Список узлов

Чтобы просмотреть список узлов в swarm, запускает docker node ls с узла менеджера:

zyzenb3c49rz3c46m3ygm9aog *   server1    Ready     Active         Leader           24.0.7
kj9e2wshnvd1hxzrw6igxg6os     server2    Ready     Active         Reachable        24.0.7
ttquuhjt9m7ys186tdb9yi3z9     server3    Ready     Active                          24.0.7
rkqircgbthhvfppzncd5clhwd     server4    Ready     Active                          24.0.7
15n2ddj3n42va0a6dgaxdlgma     server5    Ready     Active                          24.0.7

Столбец AVAILABILITY показывает, может ли планировщик назначать задачи узлу:

Столбец MANAGER STATUS показывает участие узла в консенсусе Raft:

инспектировать узел

Чтобы просмотреть список узлов в swarm, запускает docker node ls с узла менеджера:

Вы можете запускает docker node inspect <NODE-ID> на узле менеджера, чтобы просмотреть сведения об отдельном узле. Выходные данные по умолчанию имеют формат JSON, но вы можете передать флаг –pretty, чтобы распечатывает результаты в удобочитаемом формате.

Например:

$ docker node inspect server4 --pretty
ID:			rkqircgbthhvfppzncd5clhwd
Hostname:              	server4
Joined at:             	2023-12-10 11:10:27.874289755 +0000 utc
Status:
 State:			Ready
 Availability:         	Active
 Address:		10.11.10.4
Platform:
 Operating System:	linux
 Architecture:		x86_64
Resources:
 CPUs:			1
 Memory:		1.925GiB
Plugins:
 Log:		awslogs, fluentd, gcplogs, gelf, journald, json-file, local, logentries, splunk, syslog
 Network:		bridge, host, ipvlan, macvlan, null, overlay
 Volume:		local
Engine Version:		24.0.7
TLS Info:
 TrustRoot:
-----BEGIN CERTIFICATE-----
MIIBazCCARCgAwIBAgIUKlzjoll/2HbrP/ahSRLZo8KeQMcwCgYIKoZIzj0EAwIw
EzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMjMxMjEwMTA1NTAwWhcNNDMxMjA1MTA1
NTAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH
A0IABOmsAQb3KqS1KR+0HTQQkA8zwnHAmCbbtL+c8e8HXwyIzLJMSBEoZRrSPzxQ
Piv1oLvG2jfVLJv8V8n6ObyK1+qjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
Af8EBTADAQH/MB0GA1UdDgQWBBSjFVfwMKDyYJELlg14BY454S5jXTAKBggqhkjO
PQQDAgNJADBGAiEAzEh7Jteq0ZRLXMRtwkj0zRgCZzYbLxiqhLbqX9KRzB8CIQDD
fxZd2+LQkhGO1EAE+foD/1C9eg9wQp0L//wTWq4YWw==
-----END CERTIFICATE-----
 
 Issuer Subject:	MBMxETAPBgNVBAMTCHN3YXJtLWNh
 Issuer Public Key:	MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6awBBvcqpLUpH7QdNBCQDzPCccCYJtu0v5zx7wdfDIjMskxIEShlGtI/PFA+K/Wgu8baN9Usm/xXyfo5vIrX6g==

доступность узла

Изменение доступности узла («active», «pause», «drain»):

$ docker node update --availability pause server3

Добавляет или удаляет метаданные

Метки узлов обеспечивают гибкий метод организации узлов. Вы также можете использовать метки узлов в ограничениях службы. Применяйте ограничения при создании службы, чтобы ограничить узлы, на которых планировщик назначает задачи для службы.

Запускает docker node update –label-add на узле менеджера, чтобы добавить метаданные метки на узел. Флаг –label-add поддерживает пару <key> или <key>=<value>.

Передать флаг –label-add один раз для каждой метки узла, которую вы хотите добавить:

Передать флаг –label-add один раз для каждой метки узла, которую вы хотите добавить:

$ docker node update --label-add foo --label-add bar=baz node-1

Метки, которые вы устанавливаете для узлов с помощью обновления узла Docker, применяются только к сущности узла в swarm.

Повышение или понижение уровня узла

Вы можете повысить рабочий узел до роли менеджера. Это полезно, когда узел менеджера становится недоступным или если вы хотите перевести менеджер в автономный режим для обслуживания. Точно так же вы можете понизить роль управляющего узла до рабочей роли.

Чтобы повысить уровень узла или набора узлов, запускает docker node promote с узла менеджера:

docker node promote server3

Чтобы понизить уровень узла или набора узлов, запускает docker node demote с управляющего узла:

docker node demote server3

docker node promote и docker node demote — это удобные команды для docker node update –role manager и docker node update –role worker соответственно.