Инструменты пользователя

Инструменты сайта


docker:swarm:node_management

Управляйте узлами в 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 показывает, может ли планировщик назначать задачи узлу:

  • Active означает, что планировщик может назначать задачи узлу.
  • Pause означает, что планировщик не назначает новые задачи узлу, но существующие задачи продолжают выполняться.
  • Drain означает, что планировщик не назначает новые задачи узлу. Планировщик закрывает все существующие задачи и назначает их выполнение на доступном узле.

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

  • Отсутствие значения указывает на рабочий узел, который не участвует в управлении swarm.
  • Leader означает, что узел является основным управляющим узлом, который принимает все решения по управлению и оркестровке swarm для swarm.
  • Reachable означает, что узел является управляющим узлом, участвующим в консенсусном кворуме Raft. Если ведущий узел становится недоступным, данный узел может быть выбран в качестве нового лидера.
  • Unavailable означает, что узел является менеджером, который не может общаться с другими менеджерами. Если узел менеджера становится недоступным, вы должны либо присоединить новый узел менеджера к swarm, либо сделать рабочий узел менеджером.

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

Чтобы просмотреть список узлов в 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 соответственно.

docker/swarm/node_management.txt · Последние изменения: 2023/12/10 17:25 — werwolf