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 ಗೆ ಹೋಗುತ್ತದೆ. ಕೆಲಸ ಮಾಡುವ ಮೊದಲ ಮಾರ್ಗವು ಎರಡನೆಯದನ್ನು ಸಂರಚಿಸುವುದಿಲ್ಲ. ನಿಯಂತ್ರಕದಲ್ಲಿ ಮಾತ್ರ ಇರುವ ಆಲಿಸುವವರನ್ನು ತಲುಪುವಿಕೆಗಾಗಿ ಒಡ್ಡುವುದು ಯಾರು ಅದನ್ನು ಪ್ರವೇಶಿಸಬಹುದು ಎಂಬುದನ್ನೂ ಬದಲಾಯಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಇದು ವಿಳಾಸ ತಿದ್ದುಪಡಿಯಲ್ಲ, ನಿಯೋಜನೆ ಆಯ್ಕೆ.