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 руу явдаг. Ажиллаж буй эхний зам хоёр дахь замыг тохируулдаггүй. Зөвхөн контроллер дээр байгаа сонсогчийг хүртээмжийн асуудлыг шийдэхийн тулд нээх нь хэн түүнд хандах боломжтойг ч өөрчилдөг тул энэ нь хаягийн засвар биш, байршуулалтын шийдвэр юм.