у меня есть рой с двумя узлами (оба с докером 19.03.1), с которыми у меня проблемы - я постоянно получаю
"Pool overlaps with other one on this address space" module=node/agent/taskmanager"
сообщение при создании службы с опубликованным портом.
Рой был создан ванильным:
manager@ docker swarm init
worker@ docker swarm join...
Я создал оверлейную сеть
manager@ docker network create -d overlay ids-net --attachable
Создание простого сервиса на обоих узлах работает:
manager@ docker service create --replicas 2 --network ids-net hashicorp/http-echo -text="hello world"
результат:
image hashicorp/http-echo:latest could not be accessed on a registry to record
its digest. Each node will access hashicorp/http-echo:latest independently,
possibly leading to different nodes running different
versions of the image.
ksi39hzojsfjr4jyqck1p4rib
overall progress: 2 out of 2 tasks
1/2: running [==================================================>]
2/2: running [==================================================>]
verify: Service converged
Выдача следующих результатов приводит к бесконечному циклу:
manager@ docker service create --replicas 2 --publish published=5678,target=5678 --network ids-net hashicorp/http-echo -text="hello world"
показывая следующее:
image hashicorp/http-echo:latest could not be accessed on a registry to record
its digest. Each node will access hashicorp/http-echo:latest independently,
possibly leading to different nodes running different
versions of the image.
bjjxxomsgvsoitf55l7vuuz74
overall progress: 0 out of 2 tasks
1/2: Pool overlaps with other one on this address space
2/2: Pool overlaps with other one on this address space
Системный журнал показывает следующее:
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.283849008+02:00" level=debug msg="state changed" module=node/agent/taskmanager node.id=50coluxfs0lnx1kf07mhckito service.id=d3rxusuxfk18tuvi24l198btp state.desired=READY state.transition="ACCEPTED->PREPARING" task.id=wmu9898y2yl01ga5v40xfojmi
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.283977128+02:00" level=debug msg="(*Agent).UpdateTaskStatus" module=node/agent node.id=50coluxfs0lnx 1kf07mhckito task.id=wmu9898y2yl01ga5v40xfojmi
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.284226242+02:00" level=debug msg="task status reported" module=node/agent node.id=50coluxfs0lnx1kf07mhckito
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.284870334+02:00" level=debug msg="(*Agent).UpdateTaskStatus" module=node/agent node.id=50coluxfs0lnx 1kf07mhckito task.id=o036l4zcbzvnccjsp44fygnfr
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.285156543+02:00" level=debug msg="Allocating IPv4 pools for network ingress (ozjtk12iougu8fqjliqspvxx2)"
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.285200492+02:00" level=debug msg="RequestPool(LocalDefault, 10.255.0.0/16, , map[], false)"
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.285228022+02:00" level=error msg="fatal task error" error="Pool overlaps with other one on this address space" module=node/agent/taskmanager node.id=50coluxfs0lnx1kf07mhckito service.id=d3rxusuxfk18tuvi24l198btp task.id=wmu9898y2yl01ga5v40xfojmi
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.285265876+02:00" level=debug msg="state changed" module=node/agent/taskmanager node.id=50coluxfs0lnx1kf07mhckito service.id=d3rxusuxfk18tuvi24l198btp state.desired=READY state.transition="PREPARING->REJECTED" task.id=wmu9898y2yl01ga5v40xfojmi
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.285236079+02:00" level=debug msg="task status reported" module=node/agent node.id=50coluxfs0lnx1kf07mhckito
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.285726857+02:00" level=debug msg="(*Agent).UpdateTaskStatus" module=node/agent node.id=50coluxfs0lnx 1kf07mhckito task.id=wmu9898y2yl01ga5v40xfojmi
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.286082096+02:00" level=debug msg="task status reported" module=node/agent node.id=50coluxfs0lnx1kf07mhckito
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.286697616+02:00" level=debug msg="(*Agent).UpdateTaskStatus" module=node/agent node.id=50coluxfs0lnx 1kf07mhckito task.id=wmu9898y2yl01ga5v40xfojmi
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.287043607+02:00" level=debug msg="task status reported" module=node/agent node.id=50coluxfs0lnx1kf07mhckito
Aug 01 15:47:03 docker dockerd[1106]: time="2019-08-01T15:47:03.316386815+02:00" level=debug msg="state for task wmu9898y2yl01ga5v40xfojmi updated to REJECTED" method="(*Dispatcher).processUpdates" module=dispatcher node.id=50coluxfs0lnx1kf07mhckito state.transition="ASSIGNED->REJECTED" task.id=wmu9898y2yl01ga5v40xfojmi
Думаю проблема с оверлейной сетью. manager@ docker inspect <network id>
у менеджера дает:
{
"Name": "ids-net",
"Id": "jzvu45w1b247whq6qsx3v7fdy",
"Created": "2019-07-31T10:10:38.436102588+02:00",
"Scope": "swarm",
"Driver": "overlay",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "10.0.1.0/24",
"Gateway": "10.0.1.1"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
...
},
"Options": {
"com.docker.network.driver.overlay.vxlanid_list": "4098"
},
"Labels": {},
"Peers": [
{
"Name": "22a3eb7a8eec",
"IP": "192.168.100.92"
}
]
}
]
На рабочем узле сеть не создается. (Это правильно?)
Вот вывод ip r
с обеих машин по запросу @BMitch:
manager@ ip r
default via 192.168.100.11 dev ens192 onlink
10.255.0.0/24 dev docker0 proto kernel scope link src 10.255.0.1
10.255.1.0/24 dev br-686969a42803 proto kernel scope link src 10.255.1.1
10.255.23.0/24 dev docker_gwbridge proto kernel scope link src 10.255.23.1
10.255.42.0/24 dev br-c03d759e1553 proto kernel scope link src 10.255.42.1
192.168.100.0/24 dev ens192 proto kernel scope link src 192.168.100.92
worker@ ip r
default via 192.168.100.11 dev eth0 onlink
10.254.0.0/24 dev docker0 proto kernel scope link src 10.254.0.1
10.255.3.0/24 dev docker_gwbridge proto kernel scope link src 10.255.3.1
10.255.4.0/24 dev br-88f241f38441 proto kernel scope link src 10.255.4.1
192.168.100.0/24 dev eth0 proto kernel scope link src 192.168.100.106
вот /etc/docker/daemon.json
из manager
:
manager@ cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://repo.ids.net"],
"default-address-pools": [
{"base":"10.255.255.0/16","size":24}
]
}
тот, что для worker
, выглядит иначе:
manager@ cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://repo.ids.net"],
"default-address-pools": [
{"base":"10.254.255.0/16","size":24}
]
}
А вот конфиг ingress-сети:
root@docker:/etc/nginx/conf.d# docker network inspect ozjtk12iougu
[
{
"Name": "ingress",
"Id": "ozjtk12iougu8fqjliqspvxx2",
"Created": "2019-07-31T07:36:57.368162913Z",
"Scope": "swarm",
"Driver": "overlay",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "10.255.0.0/16",
"Gateway": "10.255.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": true,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": null,
"Options": {
"com.docker.network.driver.overlay.vxlanid_list": "4096"
},
"Labels": null
}
]
Я очищал обе системы несколько раз, а также перезапускал оба сервера с нуля.
Может ли кто-нибудь направить меня, пожалуйста?
Спасибо М
ip r
в свой вопрос. - person BMitch   schedule 05.08.2019daemon.json
- person DocJones   schedule 08.08.2019