Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Swarm模式路由网格不工作,默认情况下与主机模式类似_Docker_Docker Swarm_Docker Swarm Mode - Fatal编程技术网

Docker Swarm模式路由网格不工作,默认情况下与主机模式类似

Docker Swarm模式路由网格不工作,默认情况下与主机模式类似,docker,docker-swarm,docker-swarm-mode,Docker,Docker Swarm,Docker Swarm Mode,说明 Swarm模式路由网格不工作,相反,它的工作方式与默认情况下使用主机模式类似 我们部署了一个由3个主节点和8个工作节点组成的集群,每个节点使用Terraform和Ansible部署在云服务的不同实例中。swarm和routing mesh运行良好,因为它停止工作并开始像主机模式一样工作。我们没有更改任何内容,也没有更新或部署任何新服务。我们尝试重新启动swarm并重新部署swarm和所有服务,但没有任何效果,我们无法使其再次在路由网格模式下工作。因此,我们决定销毁所有实例,从头开始(下面报

说明

Swarm模式路由网格不工作,相反,它的工作方式与默认情况下使用主机模式类似

我们部署了一个由3个主节点和8个工作节点组成的集群,每个节点使用Terraform和Ansible部署在云服务的不同实例中。swarm和routing mesh运行良好,因为它停止工作并开始像主机模式一样工作。我们没有更改任何内容,也没有更新或部署任何新服务。我们尝试重新启动swarm并重新部署swarm和所有服务,但没有任何效果,我们无法使其再次在路由网格模式下工作。因此,我们决定销毁所有实例,从头开始(下面报告的问题)。我们像以前一样干净地安装了Ubuntu 18.04 LTS和docker。然后我们设置了1个主节点和2个工作节点(这次是手动的),并部署了一个服务,但swarm仍然像主机模式一样工作

访问服务的唯一方法是通过运行服务的节点的IP地址,否则,没有应答(超时)。我们尝试使用manager或其他worker实例的IP进行访问,但无法访问该服务。这就是为什么我们假设swarm默认使用主机模式,而不是入口网络和路由网格

我们也尝试了不同的服务,如Mongo或Cassandra,但行为是一样的,swarm看起来像是使用主机模式工作。您只能使用服务正在运行的实例IP地址访问该服务

有没有关于如何绕过主机most并返回到路由网格的想法? 我们希望仅通过使用管理器节点的IP地址访问任何服务,这些管理器节点被支持处于漏模式

重现问题的步骤:

Client: Docker Engine - Community
 Version:           19.03.6
 API version:       1.40
 Go version:        go1.12.16
 Git commit:        369ce74a3c
 Built:             Thu Feb 13 01:27:49 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.6
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.16
  Git commit:       369ce74a3c
  Built:            Thu Feb 13 01:26:21 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
Client:
 Debug Mode: false

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 1
 Server Version: 19.03.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: active
  NodeID: hpcm67vxrmkm1wvlhfqbjevox
  Is Manager: true
  ClusterID: gnl96swlf7o3a976oarvjrazt
  Managers: 1
  Nodes: 3
  Default Address Pool: 10.0.0.0/8
  SubnetSize: 24
  Data Path Port: 4789
  Orchestration:
   Task History Retention Limit: 5
  Raft:
   Snapshot Interval: 10000
   Number of Old Snapshots to Retain: 0
   Heartbeat Tick: 1
   Election Tick: 10
  Dispatcher:
   Heartbeat Period: 5 seconds
  CA Configuration:
   Expiry Duration: 3 months
   Force Rotate: 0
  Autolock Managers: false
  Root Rotation In Progress: false
  Node Address: 158.39.201.14
  Manager Addresses:
   158.39.201.14:2377
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
 runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
 init version: fec3683
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.15.0-74-generic
 Operating System: Ubuntu 18.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 3.852GiB
 Name: nh-manager-0
 ID: PHBO:E6UZ:RNJL:5LVU:OZXW:FM5M:GQVW:SCAQ:EEQW:7IIW:GARL:AUHI
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
  • [manager]
    sudo docker swarm init——广告地址158.39.201.14
  • [worker-0]
    sudo docker swarm加入——令牌SWMTKN-1-3np0cy0msnfurecckl4863hkftykuqkgeq998s1hix6jsoiarq-758o52hyma
    iyzv74w3u1yzltt 158.39.201.14:2377
  • [worker-1]
    sudo docker swarm加入——令牌SWMTKN-1-3np0cy0msnfurecckl4863hkftykuqkgeq998s1hix6jsoiarq-758o52hyma
    iyzv74w3u1yzltt 158.39.201.14:2377
  • [管理器]sudo docker堆栈部署-c docker-compose.yml nh
  • 描述您收到的结果:

    Client: Docker Engine - Community
     Version:           19.03.6
     API version:       1.40
     Go version:        go1.12.16
     Git commit:        369ce74a3c
     Built:             Thu Feb 13 01:27:49 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.6
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.12.16
      Git commit:       369ce74a3c
      Built:            Thu Feb 13 01:26:21 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.2.10
      GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
     runc:
      Version:          1.0.0-rc8+dev
      GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    
    Client:
     Debug Mode: false
    
    Server:
     Containers: 1
      Running: 0
      Paused: 0
      Stopped: 1
     Images: 1
     Server Version: 19.03.6
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: active
      NodeID: hpcm67vxrmkm1wvlhfqbjevox
      Is Manager: true
      ClusterID: gnl96swlf7o3a976oarvjrazt
      Managers: 1
      Nodes: 3
      Default Address Pool: 10.0.0.0/8
      SubnetSize: 24
      Data Path Port: 4789
      Orchestration:
       Task History Retention Limit: 5
      Raft:
       Snapshot Interval: 10000
       Number of Old Snapshots to Retain: 0
       Heartbeat Tick: 1
       Election Tick: 10
      Dispatcher:
       Heartbeat Period: 5 seconds
      CA Configuration:
       Expiry Duration: 3 months
       Force Rotate: 0
      Autolock Managers: false
      Root Rotation In Progress: false
      Node Address: 158.39.201.14
      Manager Addresses:
       158.39.201.14:2377
     Runtimes: runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
     runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
     init version: fec3683
     Security Options:
      apparmor
      seccomp
       Profile: default
     Kernel Version: 4.15.0-74-generic
     Operating System: Ubuntu 18.04.4 LTS
     OSType: linux
     Architecture: x86_64
     CPUs: 1
     Total Memory: 3.852GiB
     Name: nh-manager-0
     ID: PHBO:E6UZ:RNJL:5LVU:OZXW:FM5M:GQVW:SCAQ:EEQW:7IIW:GARL:AUHI
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    
    卷曲200正常

    curl故障超时

    描述您期望的结果:

    Client: Docker Engine - Community
     Version:           19.03.6
     API version:       1.40
     Go version:        go1.12.16
     Git commit:        369ce74a3c
     Built:             Thu Feb 13 01:27:49 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.6
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.12.16
      Git commit:       369ce74a3c
      Built:            Thu Feb 13 01:26:21 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.2.10
      GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
     runc:
      Version:          1.0.0-rc8+dev
      GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    
    Client:
     Debug Mode: false
    
    Server:
     Containers: 1
      Running: 0
      Paused: 0
      Stopped: 1
     Images: 1
     Server Version: 19.03.6
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: active
      NodeID: hpcm67vxrmkm1wvlhfqbjevox
      Is Manager: true
      ClusterID: gnl96swlf7o3a976oarvjrazt
      Managers: 1
      Nodes: 3
      Default Address Pool: 10.0.0.0/8
      SubnetSize: 24
      Data Path Port: 4789
      Orchestration:
       Task History Retention Limit: 5
      Raft:
       Snapshot Interval: 10000
       Number of Old Snapshots to Retain: 0
       Heartbeat Tick: 1
       Election Tick: 10
      Dispatcher:
       Heartbeat Period: 5 seconds
      CA Configuration:
       Expiry Duration: 3 months
       Force Rotate: 0
      Autolock Managers: false
      Root Rotation In Progress: false
      Node Address: 158.39.201.14
      Manager Addresses:
       158.39.201.14:2377
     Runtimes: runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
     runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
     init version: fec3683
     Security Options:
      apparmor
      seccomp
       Profile: default
     Kernel Version: 4.15.0-74-generic
     Operating System: Ubuntu 18.04.4 LTS
     OSType: linux
     Architecture: x86_64
     CPUs: 1
     Total Memory: 3.852GiB
     Name: nh-manager-0
     ID: PHBO:E6UZ:RNJL:5LVU:OZXW:FM5M:GQVW:SCAQ:EEQW:7IIW:GARL:AUHI
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    
    卷曲200正常

    卷曲200正常

    您认为重要的其他信息(例如,问题只是偶尔发生):

    Client: Docker Engine - Community
     Version:           19.03.6
     API version:       1.40
     Go version:        go1.12.16
     Git commit:        369ce74a3c
     Built:             Thu Feb 13 01:27:49 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.6
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.12.16
      Git commit:       369ce74a3c
      Built:            Thu Feb 13 01:26:21 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.2.10
      GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
     runc:
      Version:          1.0.0-rc8+dev
      GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    
    Client:
     Debug Mode: false
    
    Server:
     Containers: 1
      Running: 0
      Paused: 0
      Stopped: 1
     Images: 1
     Server Version: 19.03.6
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: active
      NodeID: hpcm67vxrmkm1wvlhfqbjevox
      Is Manager: true
      ClusterID: gnl96swlf7o3a976oarvjrazt
      Managers: 1
      Nodes: 3
      Default Address Pool: 10.0.0.0/8
      SubnetSize: 24
      Data Path Port: 4789
      Orchestration:
       Task History Retention Limit: 5
      Raft:
       Snapshot Interval: 10000
       Number of Old Snapshots to Retain: 0
       Heartbeat Tick: 1
       Election Tick: 10
      Dispatcher:
       Heartbeat Period: 5 seconds
      CA Configuration:
       Expiry Duration: 3 months
       Force Rotate: 0
      Autolock Managers: false
      Root Rotation In Progress: false
      Node Address: 158.39.201.14
      Manager Addresses:
       158.39.201.14:2377
     Runtimes: runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
     runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
     init version: fec3683
     Security Options:
      apparmor
      seccomp
       Profile: default
     Kernel Version: 4.15.0-74-generic
     Operating System: Ubuntu 18.04.4 LTS
     OSType: linux
     Architecture: x86_64
     CPUs: 1
     Total Memory: 3.852GiB
     Name: nh-manager-0
     ID: PHBO:E6UZ:RNJL:5LVU:OZXW:FM5M:GQVW:SCAQ:EEQW:7IIW:GARL:AUHI
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    
    这个问题在两天前没有发生,而且突然发生了。我们没有做任何修改,也没有接触服务器

    docker compose.yml

    version: '3.7'
    
    networks:
      news-hunter:
        name: &network news-hunter
    
    x-network: &network-base
      networks:
        - *network
    
    services:
       blazegraph:
        <<: *network-base
        image: lyrasis/blazegraph:2.1.5
        ports:
          - published: 8089
            target: 8080
        deploy:
          placement:
            constraints:
              - node.role == worker 
    
    管理器端口
    sudo netstat-tuplen

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
    tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      101        46731      14980/systemd-resol
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          17752      865/sshd
    tcp6       0      0 :::22                   :::*                    LISTEN      0          17757      865/sshd
    tcp6       0      0 :::8089                 :::*                    LISTEN      0          306971     24992/dockerd
    tcp6       0      0 :::2377                 :::*                    LISTEN      0          301970     24992/dockerd
    tcp6       0      0 :::7946                 :::*                    LISTEN      0          301986     24992/dockerd
    udp        0      0 127.0.0.53:53           0.0.0.0:*                           101        46730      14980/systemd-resol
    udp        0      0 158.39.201.14:68        0.0.0.0:*                           100        46591      14964/systemd-netwo
    udp        0      0 0.0.0.0:4789            0.0.0.0:*                           0          302125     -
    udp6       0      0 fe80::f816:3eff:fef:546 :::*                                100        46586      14964/systemd-netwo
    udp6       0      0 :::7946                 :::*                                0          301987     24992/dockerd
    
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
    tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      101        44998      15283/systemd-resol
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          15724      1010/sshd
    tcp6       0      0 :::22                   :::*                    LISTEN      0          15726      1010/sshd
    tcp6       0      0 :::8089                 :::*                    LISTEN      0          300227     25355/dockerd
    tcp6       0      0 :::7946                 :::*                    LISTEN      0          283636     25355/dockerd
    udp        0      0 0.0.0.0:4789            0.0.0.0:*                           0          285465     -
    udp        0      0 127.0.0.53:53           0.0.0.0:*                           101        44997      15283/systemd-resol
    udp        0      0 158.39.201.15:68        0.0.0.0:*                           100        233705     15247/systemd-netwo
    udp6       0      0 :::7946                 :::*                                0          283637     25355/dockerd
    udp6       0      0 fe80::f816:3eff:fee:546 :::*                                100        48229      15247/systemd-netwo
    
    工作端口
    sudo netstat-tuplen

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
    tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      101        46731      14980/systemd-resol
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          17752      865/sshd
    tcp6       0      0 :::22                   :::*                    LISTEN      0          17757      865/sshd
    tcp6       0      0 :::8089                 :::*                    LISTEN      0          306971     24992/dockerd
    tcp6       0      0 :::2377                 :::*                    LISTEN      0          301970     24992/dockerd
    tcp6       0      0 :::7946                 :::*                    LISTEN      0          301986     24992/dockerd
    udp        0      0 127.0.0.53:53           0.0.0.0:*                           101        46730      14980/systemd-resol
    udp        0      0 158.39.201.14:68        0.0.0.0:*                           100        46591      14964/systemd-netwo
    udp        0      0 0.0.0.0:4789            0.0.0.0:*                           0          302125     -
    udp6       0      0 fe80::f816:3eff:fef:546 :::*                                100        46586      14964/systemd-netwo
    udp6       0      0 :::7946                 :::*                                0          301987     24992/dockerd
    
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
    tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      101        44998      15283/systemd-resol
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          15724      1010/sshd
    tcp6       0      0 :::22                   :::*                    LISTEN      0          15726      1010/sshd
    tcp6       0      0 :::8089                 :::*                    LISTEN      0          300227     25355/dockerd
    tcp6       0      0 :::7946                 :::*                    LISTEN      0          283636     25355/dockerd
    udp        0      0 0.0.0.0:4789            0.0.0.0:*                           0          285465     -
    udp        0      0 127.0.0.53:53           0.0.0.0:*                           101        44997      15283/systemd-resol
    udp        0      0 158.39.201.15:68        0.0.0.0:*                           100        233705     15247/systemd-netwo
    udp6       0      0 :::7946                 :::*                                0          283637     25355/dockerd
    udp6       0      0 fe80::f816:3eff:fee:546 :::*                                100        48229      15247/systemd-netwo
    
    正在运行的服务
    sudo docker服务ls

    ID                  NAME                MODE                REPLICAS            IMAGE                      PORTS
    m7eha88ff4wm        nh_blazegraph       replicated          1/1                 lyrasis/blazegraph:2.1.5   *:8089->8080/tcp
    
    Stack
    sudo docker Stack ps nh

    ID                  NAME                IMAGE                      NODE                DESIRED STATE       CURRENT STATE         ERROR               PORTS
    tqkd9t4i03yt        nh_blazegraph.1     lyrasis/blazegraph:2.1.5   nh-worker-0         Running             Running 3 hours ago
    
    docker版本的输出:

    Client: Docker Engine - Community
     Version:           19.03.6
     API version:       1.40
     Go version:        go1.12.16
     Git commit:        369ce74a3c
     Built:             Thu Feb 13 01:27:49 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.6
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.12.16
      Git commit:       369ce74a3c
      Built:            Thu Feb 13 01:26:21 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.2.10
      GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
     runc:
      Version:          1.0.0-rc8+dev
      GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    
    Client:
     Debug Mode: false
    
    Server:
     Containers: 1
      Running: 0
      Paused: 0
      Stopped: 1
     Images: 1
     Server Version: 19.03.6
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: active
      NodeID: hpcm67vxrmkm1wvlhfqbjevox
      Is Manager: true
      ClusterID: gnl96swlf7o3a976oarvjrazt
      Managers: 1
      Nodes: 3
      Default Address Pool: 10.0.0.0/8
      SubnetSize: 24
      Data Path Port: 4789
      Orchestration:
       Task History Retention Limit: 5
      Raft:
       Snapshot Interval: 10000
       Number of Old Snapshots to Retain: 0
       Heartbeat Tick: 1
       Election Tick: 10
      Dispatcher:
       Heartbeat Period: 5 seconds
      CA Configuration:
       Expiry Duration: 3 months
       Force Rotate: 0
      Autolock Managers: false
      Root Rotation In Progress: false
      Node Address: 158.39.201.14
      Manager Addresses:
       158.39.201.14:2377
     Runtimes: runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
     runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
     init version: fec3683
     Security Options:
      apparmor
      seccomp
       Profile: default
     Kernel Version: 4.15.0-74-generic
     Operating System: Ubuntu 18.04.4 LTS
     OSType: linux
     Architecture: x86_64
     CPUs: 1
     Total Memory: 3.852GiB
     Name: nh-manager-0
     ID: PHBO:E6UZ:RNJL:5LVU:OZXW:FM5M:GQVW:SCAQ:EEQW:7IIW:GARL:AUHI
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    
    码头工人信息的输出:

    Client: Docker Engine - Community
     Version:           19.03.6
     API version:       1.40
     Go version:        go1.12.16
     Git commit:        369ce74a3c
     Built:             Thu Feb 13 01:27:49 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.6
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.12.16
      Git commit:       369ce74a3c
      Built:            Thu Feb 13 01:26:21 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.2.10
      GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
     runc:
      Version:          1.0.0-rc8+dev
      GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    
    Client:
     Debug Mode: false
    
    Server:
     Containers: 1
      Running: 0
      Paused: 0
      Stopped: 1
     Images: 1
     Server Version: 19.03.6
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: active
      NodeID: hpcm67vxrmkm1wvlhfqbjevox
      Is Manager: true
      ClusterID: gnl96swlf7o3a976oarvjrazt
      Managers: 1
      Nodes: 3
      Default Address Pool: 10.0.0.0/8
      SubnetSize: 24
      Data Path Port: 4789
      Orchestration:
       Task History Retention Limit: 5
      Raft:
       Snapshot Interval: 10000
       Number of Old Snapshots to Retain: 0
       Heartbeat Tick: 1
       Election Tick: 10
      Dispatcher:
       Heartbeat Period: 5 seconds
      CA Configuration:
       Expiry Duration: 3 months
       Force Rotate: 0
      Autolock Managers: false
      Root Rotation In Progress: false
      Node Address: 158.39.201.14
      Manager Addresses:
       158.39.201.14:2377
     Runtimes: runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
     runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
     init version: fec3683
     Security Options:
      apparmor
      seccomp
       Profile: default
     Kernel Version: 4.15.0-74-generic
     Operating System: Ubuntu 18.04.4 LTS
     OSType: linux
     Architecture: x86_64
     CPUs: 1
     Total Memory: 3.852GiB
     Name: nh-manager-0
     ID: PHBO:E6UZ:RNJL:5LVU:OZXW:FM5M:GQVW:SCAQ:EEQW:7IIW:GARL:AUHI
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    
    服务检查
    sudo docker服务检查——漂亮的NHU blazegraph

    ID:             ef9s5lesysovh5x2653qc6dk9
    Name:           nh_blazegraph
    Labels:
     com.docker.stack.image=lyrasis/blazegraph:2.1.5
     com.docker.stack.namespace=nh
    Service Mode:   Replicated
     Replicas:      1
    Placement:
     Constraints:   [node.role == worker]
    UpdateConfig:
     Parallelism:   1
     On failure:    pause
     Monitoring Period: 5s
     Max failure ratio: 0
     Update order:      stop-first
    RollbackConfig:
     Parallelism:   1
     On failure:    pause
     Monitoring Period: 5s
     Max failure ratio: 0
     Rollback order:    stop-first
    ContainerSpec:
     Image:         lyrasis/blazegraph:2.1.5@sha256:e9fb46c9d7b2fc23202945a3d71b99ad8df2d7a18dcbcccc04cfc4f791b569e9
    Resources:
    Networks: news-hunter
    Endpoint Mode:  vip
    Ports:
     PublishedPort = 8089
      Protocol = tcp
      TargetPort = 8080
      PublishMode = ingress
    
    其他环境详细信息(AWS、VirtualBox、物理等):

    Client: Docker Engine - Community
     Version:           19.03.6
     API version:       1.40
     Go version:        go1.12.16
     Git commit:        369ce74a3c
     Built:             Thu Feb 13 01:27:49 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.6
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.12.16
      Git commit:       369ce74a3c
      Built:            Thu Feb 13 01:26:21 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.2.10
      GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
     runc:
      Version:          1.0.0-rc8+dev
      GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    
    Client:
     Debug Mode: false
    
    Server:
     Containers: 1
      Running: 0
      Paused: 0
      Stopped: 1
     Images: 1
     Server Version: 19.03.6
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: active
      NodeID: hpcm67vxrmkm1wvlhfqbjevox
      Is Manager: true
      ClusterID: gnl96swlf7o3a976oarvjrazt
      Managers: 1
      Nodes: 3
      Default Address Pool: 10.0.0.0/8
      SubnetSize: 24
      Data Path Port: 4789
      Orchestration:
       Task History Retention Limit: 5
      Raft:
       Snapshot Interval: 10000
       Number of Old Snapshots to Retain: 0
       Heartbeat Tick: 1
       Election Tick: 10
      Dispatcher:
       Heartbeat Period: 5 seconds
      CA Configuration:
       Expiry Duration: 3 months
       Force Rotate: 0
      Autolock Managers: false
      Root Rotation In Progress: false
      Node Address: 158.39.201.14
      Manager Addresses:
       158.39.201.14:2377
     Runtimes: runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
     runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
     init version: fec3683
     Security Options:
      apparmor
      seccomp
       Profile: default
     Kernel Version: 4.15.0-74-generic
     Operating System: Ubuntu 18.04.4 LTS
     OSType: linux
     Architecture: x86_64
     CPUs: 1
     Total Memory: 3.852GiB
     Name: nh-manager-0
     ID: PHBO:E6UZ:RNJL:5LVU:OZXW:FM5M:GQVW:SCAQ:EEQW:7IIW:GARL:AUHI
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    
    我们正在开发OpenStack IaaS云提供商。 Out工作负载可以预期每分钟来自外部源的http请求超过1000个,节点之间的请求超过5000个

    交叉张贴:


    这表明vxlan的覆盖端口在集群中的节点之间被阻塞。vxlan使用的端口有:

    • 用于节点间通信的TCP和UDP端口7946
    • 覆盖网络流量的UDP端口4789
    资料来源:


    所示的iptables表明这不是在Linux主机本身内完成的(默认情况下配置为允许的输入和输出策略),因此我将关注用于运行VM的网络策略和系统。例如,VMware NSX使用这些端口并因此阻止了嵌入式虚拟机。

    毫无疑问,问题出在UDP端口4789上。出于某种奇怪的原因,它被我们基于OpenStack的IaaS云提供商阻止。我们没有设法知道原因

    但解决方案是通过添加选项
    --数据路径端口
    来更改用于集装箱入口网络的端口4789 UDP,如@BMitch在以下内容中所述:

    docker swarm init——数据路径端口5789


    我们在OpenStack上检查了我们的网络防火墙和安全组规则,端口7946和4789都已按您所述打开。我们还授予了接受来自实例的任何协议和端口的完全权限,但它没有改变任何内容。我们还试图将版本从19降到18,从头开始重新创建所有内容,并遵循教程形式,但没有成功。