Ansible SOCKS проксиі: localhost қай машинаға тиесілі?
Ansible API сұрауын жасайтын процесті анықтап, содан кейін оны loopback-тегі SSH SOCKS тыңдаушысына бағыттаңыз.
socks5h://127.0.0.1:65432 қолданатын тапсырма сол тыңдаушы бар желілік ортада орындалуы керек. Контроллерден жұмыс істейтін туннель оны басқарылатын хосттың loopback мекенжайында — немесе орындау контейнерінің ішінде қолжетімді етпейді.
Сәтсіз тапсырма үшін төрт фактіні анықтаңыз:
- Желілік сұрауды орындайтын хост немесе контейнер.
- Оның тиімді пайдаланушысы және Python интерпретаторы.
- Модульдің HTTP кітапханасы немесе SDK.
- Сол процесс SOCKS тыңдаушысына жете алатын мекенжай.
Тек пьесаның инвентарь мақсаты бірінші сұраққа жауап бермейді. Модульдер өздерінің конфигурацияланған қосылымын пайдаланады, делегация орындауды жылжытуы мүмкін, ал жергілікті қосылым жұмысты контроллерде ұстай алады. Контроллер жағындағы іздеулер қашықтағы модульден толығымен тыс жүреді.
OpenStack бейнесі тапсырмасы үшін орнатылған openstack.cloud жинағының талаптарын және оның OpenStack SDK ортасын тексеріңіз. curl-дың басқа жерде сәтті болуы сол SDK-ның SOCKS мүмкіндіктерін немесе тәуелділіктерін дәлелдемейді.
Егер API операциясы жергілікті орындалуға арналса, бұл орындау таңдауын айқын жасап, параметрді сонда беріңіз. Егер ол қашықтан орындалса, сол контекстен қолжетімді прокси таңдаңыз. Ansible тапсырмасының environment: параметрі тапсырма процесіне әсер етеді; ол әрбір іздеуді немесе плагинді қайта конфигурацияламайды, және SDK сол Python ортасында схеманы қолдауы керек.
Екі маршрутты бөлек ұстаңыз: SSH немесе ProxyJump Ansible-ды хостқа жеткізеді, ал модульдің HTTP клиенті өз орындау контекстінен API-ға жетеді. Жұмыс істейтін бірінші маршрут екіншісін конфигурацияламайды. Тек контроллерде бар тыңдаушыны қолжетімділік үшін ашу оған кімнің қолы жететінін де өзгертеді, сондықтан бұл мекенжайды түзету емес, орналастыру шешімі.