分享
三行代码  ›  专栏  ›  技术社区  ›  Dhiwakar Ravikumar

Ansible运行特别命令的首选方式

  •  0
  • Dhiwakar Ravikumar  · 技术社区  · 1 周前

    我对Ansible还很陌生,刚开始一天,在尝试一些基本的即席命令时,我注意到为了在名为 ,以下两个命令都起作用。

    ansible nodes -a "mkdir /BYANSIBLE_2"
    

    方法2

    ansible nodes -m file -a "path=/BYANSIBLE_3 state=touch"
    

    根据文档,-a表示模块参数,那么为什么方法1可以工作呢?

    enter image description here

    1 回复  |  直到 1 周前
        1
  •  1
  •   Dharman Neil W    1 周前

    在方法2上,您实际上是在调用一个特定的模块“file”,它有自己所需参数的定义。此模块的参数只是需要创建的路径。

    您使用的方法取决于具体情况。如果您在远程节点上测试命令,那么方法1将是我的首选,因为它比显式添加模块名要快。方法2在意图更明确的意义上更好。

    但更重要的是,我尝试为非常小的测试和任务保留特别的命令。Ansible对我来说是关于自动化和扩展的,所以我尽可能地创建剧本。

    您可以在以下链接中阅读更多内容:

    https://docs.ansible.com/ansible/latest/user_guide/intro_adhoc.html