Проблема с подключением к клиенту Python в Kubernetes - PullRequest
2 голосов
/ 18 апреля 2019

У меня есть установленный Официальный клиент Kubernetes Python (https://github.com/kubernetes-client/python).

Я использую код Python для подключения к кластеру Kubernetes и выдает ошибку :

urllib3.exceptions.MaxRetryError: HTTPSConnectionPool (host = '****', port = 6443): превышено максимальное количество попыток с помощью url: / api / v1 / namespaces / default / pods (вызвано NewConnectionError (': не удалось установить новое соединение: [Errno 110] Тайм-аут соединения ',))

Установленные требования:

cachetools        3.1.0 ,
certifi           2019.3.9 ,
chardet           3.0.4 , 
google-auth       1.6.3 ,
idna              2.8 ,
ipaddress         1.0.22 ,
kubernetes        10.0.0-snapshot ,
oauthlib          3.0.1 ,
pip               19.0.3 ,
pyasn1            0.4.5 ,
pyasn1-modules    0.2.4 ,
python-dateutil   2.8.0 ,
PyYAML            5.1 ,
requests          2.21.0 ,
requests-oauthlib 1.2.0 ,
rsa               4.0 ,
setuptools        41.0.0 ,
six               1.12.0 ,
urllib3           1.24.1 ,
websocket-client  0.56.0 ,
wheel             0.33.1 

kubectl работает нормально с той же конфигурацией $HOME/.kube/config и теми же настройками прокси.

Ниже мой код:

from kubernetes import client, config
config.load_kube_config()
v1 = client.CoreV1Api()
print("Listing pods with their IPs:")
ret = v1.list_pod_for_all_namespaces(watch=False)

1 Ответ

0 голосов
/ 06 мая 2019

В моем случае простая загрузка конфигурации через load_kube_config также не работала. В итоге я запустил прокси:

kubectl proxy --port=8888

и затем изменение хоста с помощью объекта Configuration:

configuration = client.Configuration()
configuration.host = "localhost:8888"
api_client = client.CoreV1Api(client.ApiClient(configuration))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...