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 ପର୍ଯ୍ୟନ୍ତ ଯାଏ। କାର୍ଯ୍ୟକାରୀ ପ୍ରଥମ ମାର୍ଗ ଦ୍ୱିତୀୟକୁ ବିନ୍ୟାସ କରେ ନାହିଁ। କେବଳ ନିୟନ୍ତ୍ରକରେ ଥିବା ଶ୍ରୋତାକୁ ପହଞ୍ଚ ପାଇଁ ଖୋଲିବା ମଧ୍ୟ କିଏ ଏହାକୁ ପ୍ରବେଶ କରିପାରିବ ତାହା ବଦଳାଏ, ତେଣୁ ଏହା ଠିକଣା ସଂଶୋଧନ ନୁହେଁ, ଏକ ସ୍ଥାପନା ନିଷ୍ପତ୍ତି।