Нужно ли открывать порты 2377, 7946, 4789 для создания роя докеров? - PullRequest
0 голосов
/ 22 января 2019

Согласно эта ссылка:

Следующие порты должны быть доступны.В некоторых системах эти порты открыты по умолчанию.

TCP-порт 2377 для обмена данными управления кластером TCP и UDP-порт 7946 для связи между узлами UDP-порт 4789 для наложения сетевого трафика Если вы планируете создание оверлейной сети с шифрованием(--opt encrypted), вам также необходимо убедиться, что трафик ip protocol 50 (ESP) разрешен

, но я смог создать рой и присоединить к нему узлы, не открывая порты выше, и я не могуне думаю, что они открыты по умолчанию в моей сети.Поэтому я пытаюсь понять, является ли приведенная выше документация неверной?

siddjain@goldenrwr-ca0:~$ docker node ls
ID                            HOSTNAME             STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
ub40pn2najtvkcnhewoilqboi *   goldenrwr-ca0        Ready               Active              Leader              18.06.1-ce
quyiss2gl6036x6z4znagr6zl     goldenrwr-orderer0   Ready               Active                                  18.06.1-ce
y2kqrqoeaipjkflmyg1xq1pvu     goldenrwr-peer0      Ready               Active                                  18.06.1-ce
2hnhwb06dkbhlilpcuqnnbboc     goldenrwr-peer1      Ready               Active                                  18.06.1-ce

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

Ответ на вопрос Да . Эти порты нужны докеру для работы. Мы можем проверить это, запустив netstat -tuplen на узлах, чтобы увидеть, какие порты используются.

Например, на главном узле я вижу это:

$ netstat -tuplen
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
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        15135221   -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          25361290   -                   
tcp6       0      0 :::2377                 :::*                    LISTEN      0          1423965    -                   
tcp6       0      0 :::7946                 :::*                    LISTEN      0          1423980    -                   
tcp6       0      0 :::22                   :::*                    LISTEN      0          25361301   -                   
udp        0      0 127.0.0.53:53           0.0.0.0:*                           101        15135220   -                   
udp        0      0 10.2.0.4:68             0.0.0.0:*                           100        15135187   -                   
udp        0      0 0.0.0.0:4789            0.0.0.0:*                           0          1424168    -                   
udp6       0      0 :::7946                 :::*                                0          1423981    -  

на рабочем узле я вижу это:

$ netstat -tuplen
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
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        234169     -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          8088243    -                   
tcp6       0      0 :::7946                 :::*                    LISTEN      0          61278      -                   
tcp6       0      0 :::22                   :::*                    LISTEN      0          8088254    -                   
udp        0      0 127.0.0.53:53           0.0.0.0:*                           101        234168     -                   
udp        0      0 10.2.0.7:68             0.0.0.0:*                           100        234114     -                   
udp        0      0 0.0.0.0:4789            0.0.0.0:*                           0          61504      -                   
udp6       0      0 :::7946                 :::*                                0          61279      - 

В сторону: каким-то образом это работает, хотя я вижу ниже конфигурацию, запрещающую весь входящий сетевой трафик в Azure

enter image description here

0 голосов
/ 22 января 2019

2377 / tcp должен быть открыт между узлами (это не означает, что он открыт для внешнего трафика), чтобы добраться до этой точки.Если у вас есть проблемы с оверлейной сетью, например, контейнеры не могут соединиться друг с другом или доступ к опубликованному входному порту работает только тогда, когда вы обращаетесь к тому же узлу, на котором работает контейнер, то проблема, скорее всего, заключается в том, что другие порты небудучи открытым.

...