Proxy SOCKS của Ansible: máy nào sở hữu localhost?
Xác định tiến trình thực hiện yêu cầu API Ansible trước khi trỏ nó tới trình lắng nghe SSH SOCKS trên loopback.
Một tác vụ dùng socks5h://127.0.0.1:65432 phải chạy trong môi trường mạng nơi trình lắng nghe đó tồn tại. Một đường hầm hoạt động từ bộ điều khiển không làm nó trở nên khả dụng tại địa chỉ loopback của máy chủ được quản lý — hoặc bên trong vùng chứa thực thi.
Với tác vụ thất bại, hãy xác lập bốn sự kiện:
- Máy chủ hoặc vùng chứa thực hiện yêu cầu mạng.
- Người dùng hiệu lực và trình thông dịch Python của nó.
- Thư viện HTTP hoặc SDK của mô-đun.
- Địa chỉ mà tiến trình đó có thể tiếp cận trình lắng nghe SOCKS.
Chỉ mục tiêu trong kho của vở kịch không trả lời câu hỏi đầu tiên. Các mô-đun dùng kết nối đã cấu hình của chúng, việc ủy quyền có thể chuyển nơi thực thi, và kết nối cục bộ có thể giữ công việc trên bộ điều khiển. Các tra cứu phía bộ điều khiển diễn ra hoàn toàn bên ngoài mô-đun từ xa.
Với tác vụ ảnh OpenStack, hãy kiểm tra yêu cầu của bộ sưu tập openstack.cloud đã cài và môi trường OpenStack SDK của nó. curl thành công ở nơi khác không chứng minh khả năng SOCKS hay các phụ thuộc của SDK đó.
Nếu thao tác API dự định chạy cục bộ, hãy nêu rõ lựa chọn thực thi đó và cung cấp cấu hình tại chỗ. Nếu nó chạy từ xa, hãy chọn proxy có thể tiếp cận từ bối cảnh đó. environment: của tác vụ Ansible ảnh hưởng tới tiến trình của tác vụ; nó không cấu hình lại mọi tra cứu hay plugin, và SDK vẫn cần hỗ trợ lược đồ trong môi trường Python đó.
Hãy tách hai tuyến: SSH hoặc ProxyJump đưa Ansible tới một máy chủ, còn ứng dụng khách HTTP của mô-đun đi từ ngữ cảnh thực thi của nó tới API. Tuyến đầu hoạt động không cấu hình tuyến thứ hai. Việc phơi bày một trình lắng nghe chỉ có trên bộ điều khiển để giải quyết khả năng tiếp cận cũng thay đổi ai có thể truy cập nó, nên đó là quyết định triển khai chứ không phải sửa địa chỉ.