模块是一些可以在远程主机上执行的任务,可以直接在 ansible 命令行下面使用这些模块,也可以在 playbook 里面使用它们。你想做的事情可能都会有一个对应的模块,可以先去搜索一下 ...
比如我要复制文件到远程机器上 ... 可以使用 copy 这个模块 .. 先在用户主目录下创建一个文件 ... 名字是 hello.txt ... 下面我们再用 ansible 的 copy 模块把它复制到所有的远程机器上..
再执行一下 ansible ... 在所有的机器上.. 使用一个 copy 模块 ...
模块一些会带一些参数,用一个 -a 去设置一下这些参数的值 ... 不同的模块可以使用的参数都不太一样,你需要到模块的说明页面上去查看可用的参数 ... 这个 copy 模块有一个 src 参数,用它指定一下要复制的文件的位置 ... 再用一个 dest 参数,它的值是把文件复制到的远程主机的位置 ...
后面再设置一下使用哪个用户去执行这个任务 ...
ansible all -m copy -a "src=~/hello.txt dest=/home/vagrant/"
完成以后,你可登录到远程的主机,然后查看一下是不是已经把文件复制过去了 ... 或者我们也可以直接在这台控制机器上执行一下查看文件列表的命令 ...
ansible all -a "ls /home/vagrant"
你会看到,在这些远程主机的 /home/vagrant 目录下,会出现刚才我们复制过去的文件。