Я согласен с @ ilias-sp, но также представляется, что k8s/common.py
не поддерживает атрибут configuration.proxy
, и, насколько я могу судить, urllib3
делаетне соблюдать эти переменные окружения-посредника, как это делает «обычный» urllib, вместо этого выбрав собственный ProxyManager
, управляемый явным конструктором kwarg
Однако, благодаря механизму «переопределить» ansible, яПолагаю, что вы можете проверить эту теорию:
- Скопируйте
k8s_facts.py
в папку library
своей пьесы - Измените ее, чтобы выставить
proxy
в AUTH_ARG_MAP
, что, как я полагаю, подойдет нижеприведенный патч (патч против v2.8.5, поэтому вам может потребоваться возиться с ним, если ваша версия отличается) Явно установите атрибут proxy:
на вашем новом модуле k8s_facts
и посмотрите, работает ли он
- k8s_facts:
host: api-server-whatever
kind: Project
proxy: http://my-proxy:3128
- Предполагая, что это так, откройте вопрос в ansible , чтобы сообщить им
--- a/library/k8s_facts.py 2019-10-08 22:23:24.000000000 -0700
+++ b/library/k8s_facts.py 2019-10-08 22:24:50.000000000 -0700
@@ -130,13 +130,14 @@
'''
-from ansible.module_utils.k8s.common import KubernetesAnsibleModule, AUTH_ARG_SPEC
+from ansible.module_utils.k8s.common import KubernetesAnsibleModule, AUTH_ARG_SPEC, AUTH_ARG_MAP
import copy
class KubernetesFactsModule(KubernetesAnsibleModule):
def __init__(self, *args, **kwargs):
+ AUTH_ARG_MAP['proxy'] = 'proxy'
KubernetesAnsibleModule.__init__(self, *args,
supports_check_mode=True,
**kwargs)
@@ -163,6 +164,7 @@
namespace=dict(),
label_selectors=dict(type='list', default=[]),
field_selectors=dict(type='list', default=[]),
+ proxy=dict(type='str', required=False),
)
)
return args