Ansible のリモートタスクにプロキシ環境を渡す
インベントリのプロキシ変数を再利用し、それらを必要とするリモートアクションに明示的に適用します。
再利用可能なプロキシのマッピングを適切な group_vars ファイルに保存します。
proxy_env:
http_proxy: http://gateway.example:8080
https_proxy: http://gateway.example:8080それをリモートアクションに適用します。
- name: Download the managed artifact
ansible.builtin.get_url:
url: https://downloads.example/artifact.txt
dest: /tmp/artifact.txt
mode: '0644'
environment: "{{ proxy_env }}"認証されていないパブリック中継を許可するルート上のパブリックアーティファクトの例では、HTTP プロキシリストから候補の HTTP プロキシ URL を取得し、アーティファクトの URL は別に設定します。モジュールは実際の実行コンテキストで環境を受け取ります。get_url の文書化された use_proxy により、意図的に直接実行するタスクでは環境由来のプロキシを無効にできます。対話的な .bashrc での export は同じ入力を保証しません。タスクが空のマッピングを認識する場合は、play 変数がインベントリの値を上書きしていないか確認してください。
同じポリシーを同じユーザーとしてより多くのアクションに適用する場合は、block/play 環境を使用します。その範囲はコントローラのルックアップ、フィルタープラグイン、Ansible 自体の接続を再設定するものではありません。
永続的なログインやサービスの設定は別に管理します。タスクの環境はそのアクションとともに終了します。後から起動するサービスは、自身の起動設定から環境を取得します。