0

ansible在尝试执行以下操作时,我遇到了一个(对我来说)意想不到的问题:

# myplaybook.ansible.yml
- hosts: myhost2

  tasks: 
  - name: Execute pgsql query
    community.postgresql.postgresql_query:
      ...

控制器在哪里myhost1执行ansible-playbook -v myplaybook.ansible.yml。在目标主机myhost2 community.postgresql.postgresql_query上安装ansible-galaxy install并满足依赖项(特别是psycopg2)。

问题:

ansible因为在控制器上找不到postgresql_query模块,所以在实际评估剧本之前就爆炸了,但运行它的全部目的myhost2是避免首先在控制器上安装此类依赖项。

同样,我也希望能够像这样执行上述操作,但出于同样的原因,这显然行不通:

# myplaybook.ansible.yml
- hosts: myhost3

  tasks: 
  - name: Execute pgsql query
    delegate_to: myhost2
    community.postgresql.postgresql_query:
      ...

问题

如何仅评估ansible在目标或委托主机上的任务中调用的模块?

4

0 回答 0