стручки не могут подключиться к службе FTP - PullRequest
0 голосов
/ 14 апреля 2020

Проблема: Сценарий (openshift) pod python завершается неудачно, пока cli успешно подключается к службе ftp. Среда описана ниже.

  1. OKD v3.11 (1 мастер + 3 рабочих узла)
  2. Все узлы: Centos 7.7
  3. мастер-узел (ip xx. В xx.xx.55) установлен FTP, как показано ниже, и iptables включен с портом 20,21
[centos@xxx-master ~]$ ftp localhost
Trying ::1...
Connected to localhost (::1).
220 (vsFTPd 3.0.2)
Name (localhost:centos): xxxxxxxx
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
root@waxxx-7798748f8-lk2wk:/wxxxx_py3# ftp xx.xx.xx.55
Connected to xx.xx.xx.55.
220 (vsFTPd 3.0.2)
Name (xx.xx.xx.55:root): xxxxxxxx
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye

FTP из сценария python, модуль не может подключиться к ftp

root@waxxx-7798748f8-lk2wk:/wxxxx_py3# python ftps.py
listing directory
Traceback (most recent call last):
  File "ftps.py", line 6, in <module>
    server.dir()
  File "/usr/local/lib/python3.5/ftplib.py", line 576, in dir
    self.retrlines(cmd, func)
  File "/usr/local/lib/python3.5/ftplib.py", line 469, in retrlines
    with self.transfercmd(cmd) as conn, \
  File "/usr/local/lib/python3.5/ftplib.py", line 400, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "/usr/local/lib/python3.5/ftplib.py", line 362, in ntransfercmd
    source_address=self.source_address)
  File "/usr/local/lib/python3.5/socket.py", line 712, in create_connection
    raise err
  File "/usr/local/lib/python3.5/socket.py", line 703, in create_connection
    sock.connect(sa)
OSError: [Errno 113] No route to host

Код представляет собой простое соединение с ftp

root@waxxx-7798748f8-lk2wk:/wxxxx_py3# cat ftps.py
import ftplib
server = ftplib.FTP()
server.connect('xx.xx.xx.55')
server.login('xxxxxxxx','****')
print ("listing directory")
server.dir()

Наблюдаемый тот же сценарий из контейнера docker в кластере okd подключается к FTP, что ставит в тупик только сценарий okd Модуль не может связаться с FTP. Тот же сценарий в этом модуле подключается к другому компьютеру за пределами этого кластера OKD, на котором размещен собственный FTP-сервис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...