diff --git a/kubernetes/client/configuration.py b/kubernetes/client/configuration.py index bf0fd73343..886d37897c 100644 --- a/kubernetes/client/configuration.py +++ b/kubernetes/client/configuration.py @@ -89,6 +89,9 @@ def __init__(self): # Set this to True/False to enable/disable SSL hostname verification. self.assert_hostname = None + # http proxy setting + self.http_proxy_url = None + @property def logger_file(self): """ diff --git a/kubernetes/client/rest.py b/kubernetes/client/rest.py index 826d4467b4..c4eb11a37b 100644 --- a/kubernetes/client/rest.py +++ b/kubernetes/client/rest.py @@ -107,9 +107,14 @@ def __init__(self, pools_size=4, config=configuration): kwargs['assert_hostname'] = config.assert_hostname # https pool manager - self.pool_manager = urllib3.PoolManager( - **kwargs - ) + if config.http_proxy_url is not None: + self.pool_manager = urllib3.proxy_from_url( + config.http_proxy_url, **kwargs + ) + else: + self.pool_manager = urllib3.PoolManager( + **kwargs + ) def request(self, method, url, query_params=None, headers=None, body=None, post_params=None, _preload_content=True, _request_timeout=None):