У меня есть активный кластер kubernetes внутри виртуальной машины Minikube (с использованием VirtualBox в качестве драйвера), поэтому для развертывания новых контейнеров я могу загружать образы, поскольку это соединение уже установлено с помощью службы istio, теперь, если я в первую очередь подключаюсь к своей виртуальной машине minikube по ssh Я не могу получить содержимое https, но содержимое http подключается после установки прокси и no_proxy, но если я хочу получить доступ к какой-либо ссылке внутри моих контейнеров, скажем, простой модуль с изображением python и библиотекой urllib, и я хочу подключиться изнутри этого модуля а затем распечатать содержимое по любой ссылке (например, http://python.org). Я не могу этого сделать, все, что я получаю, это отсутствие маршрута к ошибке хоста в журналах, которая указывает на некоторую проблему с подключением из-за прокси .
def basic():
import urllib.request
print("inside basic funtion")
with urllib.request.urlopen('http://python.org/') as response:
html = response.read()
print(html)
это код Python, который я запускаю из своего контейнера в качестве компонента конвейера.
Самая последняя ошибка, которую я получил-
Traceback (most recent call last):
File "/usr/local/lib/python3.7/urllib/request.py", line 1317, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/usr/local/lib/python3.7/http/client.py", line 1229, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.7/http/client.py", line 1275, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.7/http/client.py", line 1224, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.7/http/client.py", line 1016, in _send_output
self.send(msg)
File "/usr/local/lib/python3.7/http/client.py", line 956, in send
self.connect()
File "/usr/local/lib/python3.7/http/client.py", line 928, in connect
(self.host,self.port), self.timeout, self.source_address)
File "/usr/local/lib/python3.7/socket.py", line 727, in create_connection
raise err
File "/usr/local/lib/python3.7/socket.py", line 716, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 11, in <module>
File "<string>", line 3, in basic
File "/usr/local/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/local/lib/python3.7/urllib/request.py", line 525, in open
response = self._open(req, data)
File "/usr/local/lib/python3.7/urllib/request.py", line 543, in _open
'_open', req)
File "/usr/local/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/usr/local/lib/python3.7/urllib/request.py", line 1345, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/local/lib/python3.7/urllib/request.py", line 1319, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 110] Operation timed out>
Я начал миникубе как-
minikube start --cpus 6 --memory 12288 --disk-size=80g --extra-config=apiserver.service-account-issuer=api --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/apiserver.key --extra-config=apiserver.service-account-api-audiences=api --kubernetes-version v1.14.0
после установки переменных env.
Обновление: я создал другой контейнер только для проверки завитка внутри компонента как (я использую библиотеки kfp для создания контейнеров)
def curl_op(text):
return dsl.ContainerOp(
name='curl',
image='tutum/curl',
command=['sh', '-c'],
arguments=['curl -x http://<proxy-server>:<proxy-port> "$0"', text]
)
поэтому, используя приведенный выше аргумент, я могу подключаться к внешним ссылкам, что снова подтверждает необходимость создания контейнеров с установленными прокси.
http
работает, аhttps
нет, я думаю, что вы добавили порт8443
к вашемуService
в файле k8syml
. Кроме того, пожалуйста, опубликуйтеyml
файлов. - person Felipe   schedule 07.01.2021