Ansible SOCKS прокси: који рачунар поседује localhost?
Пронађите процес који шаље Ansible API захтев пре него што га усмерите на SSH SOCKS ослушкивач на loopback-у.
Задатак који користи socks5h://127.0.0.1:65432 мора да се извршава у мрежном окружењу у ком тај ослушкивач постоји. Тунел који ради са контролера не чини га доступним на loopback адреси управљаног хоста — или унутар извршног контејнера.
За задатак који не успева утврдите четири чињенице:
- Хост или контејнер који извршава мрежни захтев.
- Његов ефективни корисник и Python интерпретатор.
- HTTP библиотека или SDK модула.
- Адреса на којој тај процес може да достигне SOCKS ослушкивач.
Сам инвентарни циљ представе не одговара на прво питање. Модули користе своју конфигурисану везу, делегирање може да премести извршавање, а локална веза може да задржи посао на контролеру. Претраге на страни контролера одвијају се потпуно изван удаљеног модула.
За задатак са OpenStack сликом прегледајте захтеве инсталиране колекције openstack.cloud и њено OpenStack SDK окружење. Успешан curl другде не доказује SOCKS могућности или зависности тог SDK-а.
Ако је API операција намењена локалном извршавању, учините тај избор извршавања експлицитним и поставите подешавање тамо. Ако се извршава на даљину, изаберите прокси доступан из тог контекста. environment: задатка у Ansible-у утиче на процес задатка; не реконфигурише сваку претрагу или додатак, а SDK и даље мора да подржава схему у том Python окружењу.
Држите две руте одвојено: SSH или ProxyJump доводи Ansible до хоста, док HTTP клијент модула иде из свог извршног контекста до API-ја. Рута која ради не конфигурише другу. Излагање ослушкивача који постоји само на контролеру ради решавања доступности мења и ко му може приступити, па је то одлука о увођењу, а не исправка адресе.