五、準備工做css
centos7.5 ansible-managenode
centos7.5 masterpython
centos7.5 node1linux
centos7.5 node2web
關閉防火牆 :systemctl stop firewalld && systemctl disable firewalldshell
禁用selinux :setenforce 0 臨時關閉vim
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinuxcentos
下載epel擴展源:yum install -y epel-releaseruby
六、安裝ansible:服務器
yum install ansible -y
這裏默認安裝的是ansible2.7
修改配置文件 vim /etc/ansible/hosts 添加主機組
七、ssh免祕鑰登陸配置
生成密鑰文件:ssh-keygen -t dsa -f ~/.ssh/id_dsa -P
""
與各主機免密登錄:ssh-copy-id -i ~/.ssh/id_dsa.pub root@
192.168
.
175.144等
八、測試ansible
ping各主機狀態:ansible test -m ping
ansible 經常使用模塊介紹
一、Command 模塊
做用:在遠程主機運行命令
示例:ansible web -a "ls /root" #省略模塊不寫默認爲command模塊
注意:該模塊不支持一些特殊符號如`"<"', `">"', `"|"',`";"' and `"&"等如需利用這些符號需使用shell模塊。
二、shell模塊
做用:在遠程主機在shell進程下運行命令,支持shell特性,如管道等。
示例:ansible web -m shell -a "echo 123456|passwd --stdin wang"
三、copy模塊
做用:在遠程主機執行賦值操做文件
示例:
(1) src= dest=
(2) content= dest= #content生成字符到目標文件
其餘 owner,group, mode (mode#修改權限)
[root@centos7_1~]# ansible web -m copy -a "src=/etc/fstab dest=/apps/test"
[root@centos7_1~]# ansible web -m copy -a"content='hello world1' dest=/apps/test"
[root@centos7_1 ~]# ansible web -m copy-a "content='hello world1' mode=777 dest=/apps/test1"
四、cron模塊
做用:主要是用來對定時任務進行調度
參數:
name= 任務的描述
minute= 分
day= 天
weekday= 周
hour= 時
Month 月
job= 須要執行的命令,必須狀態爲present
state= 狀態
present:建立
absent:刪除
五、fetch模塊
做用:fetches a file from remotenodes (獲取遠程節點文件)
六、file模塊
做用:sets attributes of files( 設置文件的屬性)
用法:
(1) 建立連接文件:*path= src= state=link
(2) 修改屬性 : path= owner= mode= grup=
(3) 建立目錄:path= state=directory
七、filesystem模塊
做用:Makes file system on block device 可以在塊設備上建立文件系統(慎用)
八、hostname模塊
做用:管理主機名稱
九、pip模塊
做用:Manages Python librarydependencies. #管理Python庫依賴項。
十、yum模塊
做用:Manages packages with the`yum' package manager #使用`yum'軟件包管理器管理軟件包
參數:
name= 程序包名稱,能夠帶版本號
state= 狀態
present,latest 目前/最新版本
installed 安裝
conf_file:指定yum配置文件
示例:[root@centos7_1 ~]# ansibleweb -m yum -a "name=httpd state=latest"
十一、service 模塊
做用:管理服務
參數
name= 服務名稱
state= 狀態
started 啓動
stopped 中止
restarted 重啓
enabled= [yes|no] 是否隨系統啓動
runlevel= 運行級別
示例:ansible web -m service -a"name=httpd state=started enabled=yes runlevel=5" #記得針對Centos7就
不要使用這個模塊了。
十二、user 模塊
做用:管理用戶賬號
參數:
name= 用戶名
state= 狀態
system= [yes|no] 是否爲系統用戶
shell= 默認shell類型 指定shell
uid= 指定UID
home= 指定家目錄
group= 指定屬組
groups= 指定附加組
comment= 描述信息
1三、script模塊
執行腳本 (執行的是本地的腳本將其複製到遠程在執行)
-a 「/PATH/TO/SCRIPT_FILE」 會在遠程自動給予權限並運行
1四、Template模塊
基於模板方式生成一個文件複製到遠程主機(template使用Jinjia2格式做爲文件模版,進行文檔內變量的替換的模塊。它的每次使用都會被ansible標記爲」changed」狀態。)下一章節由詳細應用介紹。
backup= 備份
src= 源文件
dest= 目標路徑
owner= 屬主
group= 主組
mode= 權限
下一章節準備 介紹ansible-playbook的使用 敬請期待!!!