ansible注(3):ansibleを使用して基本モジュール

1.pingモジュール

  グループ内の[ルート@ ansible制御/]#ホストansible A -mピング#pingA

  [ルート@ ansible-制御/]#ansible 192.168.232.182 -mピング

  エイリアスを使用して制御ホストに[ルート@ ansible-制御/]#ansible aliastest -mピング#、しかし、あなたがansible_host = IPアドレスを追加することに注意してください

2.モジュールのクエリ

  2.1クエリのすべての利用可能なモジュール

    #ansible-docの[ansible-制御/ @ルート] -l

  2.2クエリの詳細な使用やモジュールを導入   

    [ルート@ ansible-制御/]#ansible-docの-sピング

3.fetchモジュール

  処置:ホストから受信した制御ファイルを引っ張ります。オプションのパラメータ:DEST、fail_on_missing、フラット、SRC、validate_checksum

    SRC:ホストコントロールから引っ張ることにより、どのファイル(ファイルパス)を示しています

    DEST:制御ファイルを指定し、ホストローカルに引っ張られた位置に格納されます

  例モジュール3.1fetch   

    [ルート@ ansible制御/]#ansible A -mれ、-a "SRC = /フェッチ/ test.txtのDEST = /テスト" #1 -mはそのコールモジュールを示す-aパラメータ表示をフェッチ

ホスト制御端子によってansible、見つけることができます参照してください、成功した制御端子に取らansible /fetch/test.txtホストファイルの遠位端を引っ張るように制御されています。

  3.2fetchモジュールは、ハッシュ値のファイルを生成します

  从返回信息中可以看到,当ansible进行fetch操作时,会对对应文件进行哈希计算,算出文件哈希值,也就是说,如果我们改变了文件中的内容,哈希值也将随之发生改变,这个时候,即使对应目录中存在同名的文件,ansible也会判断出两个文件属于不同的文件,因为它们的哈希值并不相同,我们来实验一下,操作如下:

【修改受控主机中/fetch/test.txt文件的内容之前在ansible控制主机中拉取该文件时】

【修改受控主机中/fetch/test.txt文件的内容后再次在ansible控制主机中拉取该文件后】

 4.ansible的幂等性

  什么是幂等性?举个例子,你想把一个文件拷贝到目标主机的某个目录上,但是你不确定此目录中是否已经存在此文件,当你使用ansible完成这项任务时,就非常简单了,因为如果目标主机的对应目录中已经存在此文件,那么ansible则不会进行任何操作,如果目标主机的对应目录中并不存在此文件,ansible就会将文件拷贝到对应目录中,说白了,ansible是以结果为导向的,我们指定了一个目标状态ansible会自动判断,当前状态是否与目标状态一致,如果一致,则不进行任何操作,如果不一致,那么就将;当前状态变成目标状态,这就是幂等性,幂等性可以保证我们重复的执行同一项操作时,得到的结果是一样的。

 现在我们来实验一下,重复输入两条相同的ansible命令,看一看有什么不同:[root@ansible-control fetch]# ansible A -m fetch -a "src=/fetch/test.txt dest=/test"

重复输入相同ansible命令后:

通过查看返回信息,发现changed字段中的值为true时发生了实质性改变(第一次输入该命令时);changed字段中的值为false时并没有什么改变,因为本地已经存在该文件(第二次输入该命令时)

 

 

 

    

おすすめ

転載: www.cnblogs.com/python-wen/p/11230972.html