Проблема: Сценарий (openshift) pod python завершается неудачно, пока cli успешно подключается к службе ftp. Среда описана ниже.
- OKD v3.11 (1 мастер + 3 рабочих узла)
- Все узлы: Centos 7.7
- мастер-узел (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-сервис.