日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ansible模块介绍

發布時間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ansible模块介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ansible 默認提供了很多模塊來供我們使用。在 Linux 中,我們可以通過 ansible-doc -l 命令查看到當前
ansible 都支持哪些模塊,通過 ansible-doc -s 模塊名 又可以查看該模塊有哪些參數可以使用。

下面介紹比較常用的幾個模塊

copy模塊
file模塊
cron模塊
group模塊
user模塊
yum模塊
service模塊
script模塊
ping模塊
command模塊
raw模塊
get_url模塊
synchronize模塊

copy模塊:
目的:把主控端/root目錄下的a.sh文件拷貝到到指定節點上
命令:ansible node -m copy -a 'src=/root/a.sh dest=/tmp/'

file模塊:
目的:更改指定節點上/tmp/t.sh的權限為755,屬主和屬組為root
命令:ansible all -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"

cron模塊:
目的:在指定節點上定義一個計劃任務,每隔3分鐘到主控端更新一次時間
命令:ansible all -m cron -a 'name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.254.139"'

group模塊:
目的:在所有節點上創建一個組名為nolinux,gid為2014的組
命令:ansible all -m group -a 'gid=2014 name=nolinux'

user模塊:
目的:在指定節點上創建一個用戶名為nolinux,組為nolinux的用戶
命令:ansible node -m user -a 'name=nolinux groups=nolinux state=present'

yum模塊:
目的:在指定節點上安裝 httpd 服務
命令:ansible all -m yum -a "state=present name=httpd"

service模塊:
目的:啟動指定節點上的 puppet 服務,并讓其開機自啟動
命令:ansible node -m service -a 'name=puppet state=restarted enabled=yes'

script模塊:
目的:在指定節點上執行/root/a.sh腳本(該腳本是在ansible控制節點上的)
命令:ansible node -m script -a '/root/a.sh'

ping模塊:
目的:檢查指定節點機器是否還能連通
命令:ansible node -m ping

command模塊:
目的:在指定節點上運行hostname命令
命令:ansible node -m command -a 'hostname'

raw模塊:
目的:在node節點上運行hostname命令
命令:ansible node -m raw-a 'hostname|tee'

get_url模塊:
目的:將http://10.1.1.116/favicon.ico文件下載到指定節點的/tmp目錄下
命令:ansible node -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp'

synchronize模塊:
目的:將主控方/root/a目錄推送到指定節點的/tmp目錄下
命令:ansible node -m synchronize -a 'src=/root/a dest=/tmp/ compress=yes'
delete=yes 使兩邊的內容一樣(即以推送方為主)
compress=yes 開啟壓縮,默認為開啟
--exclude=.git 忽略同步.git結尾的文件

由于模塊默認都是推送push。因此,如果你在使用拉取pull功能的時候,可以參考如下來實現
mode=pull 更改推送模式為拉取模式
目的:將node節點的/tmp/a目錄拉取到主控節點的/root目錄下
命令:ansible node -m synchronize -a 'mode=pull src=/tmp/a dest=/root/'

由于模塊默認啟用了archive參數,該參數默認開啟了recursive, links, perms, times, owner,group和-D參數。
如果你將該參數設置為no,那么你將停止很多參數,比如會導致如下目的遞歸失敗,導致無法拉取

其它相關的參數解釋:
dest_port=22 # 指定目的主機的ssh端口,ansible配置文件中的 ansible_ssh_port 變量優先級高于該 dest_port 變量
rsync_path # 指定 rsync 命令來在遠程服務器上運行。這個參考rsync命令的--rsync-path參數,--rsync-path=PATH # 指定遠程服務器上的rsync命令所在路徑信息
rsync_timeout # 指定 rsync 操作的 IP 超時時間,和rsync命令的 --timeout 參數效果一樣

轉載于:https://www.cnblogs.com/wyleon/p/8692829.html

總結

以上是生活随笔為你收集整理的ansible模块介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。