Ansible SOCKS starpniekserveris: kura mašīna pieder localhost?
Nosakiet procesu, kas veic Ansible API pieprasījumu, pirms vēršat to uz SSH SOCKS klausītāju loopback saskarnē.
Uzdevumam, kas izmanto socks5h://127.0.0.1:65432, jādarbojas tīkla vidē, kurā pastāv šis klausītājs. Tunelis, kas darbojas no kontroliera, nepadara to pieejamu pārvaldītā resursdatora loopback adresē — vai izpildes konteinerā.
Neizdevušajam uzdevumam noskaidrojiet četrus faktus:
- Resursdators vai konteiners, kas izpilda tīkla pieprasījumu.
- Tā faktiskais lietotājs un Python interpretators.
- Moduļa HTTP bibliotēka vai SDK.
- Adrese, kurā šis process var sasniegt SOCKS klausītāju.
Vien tikai lugas inventarizācijas mērķis neatbild uz pirmo jautājumu. Moduļi izmanto savienojumu, kas tiem konfigurēts, deleģēšana var pārvietot izpildi, un lokāls savienojums var paturēt darbu kontrolierī. Meklēšana kontroliera pusē notiek pilnīgi ārpus attālā moduļa.
OpenStack attēla uzdevumam pārbaudiet instalētās openstack.cloud kolekcijas prasības un tās OpenStack SDK vidi. curl panākumi citur nepierāda šī SDK SOCKS iespējas vai atkarības.
Ja API darbība ir paredzēta lokālai izpildei, padariet šo izpildes izvēli skaidru un norādiet iestatījumu tur. Ja tā darbojas attālināti, izvēlieties starpniekserveri, kas sasniedzams no šīs vides. Ansible uzdevuma environment: ietekmē uzdevuma procesu; tas nepārkonfigurē katru meklēšanu vai spraudni, un SDK joprojām ir jāatbalsta shēma šajā Python vidē.
Turiet divus maršrutus atsevišķi: SSH vai ProxyJump aizved Ansible līdz resursdatoram, bet moduļa HTTP klients dodas no savas izpildes vides uz API. Strādājošs pirmais maršruts nekonfigurē otro. Tikai kontrolierī esoša klausītāja atvēršana sasniedzamības dēļ maina arī to, kas tam var piekļūt, tāpēc tas ir izvietošanas lēmums, nevis adreses labojums.