ansible 安裝部署文件
5、準備工作
centos7.5 ansible-manage
centos7.5 master
centos7.5 node1
centos7.5 node2
關閉防火牆 :systemctl stop firewalld && systemctl disable firewalld
禁用selinux :setenforce 0 臨時關閉
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
下載epel擴充套件源:yum install -y epel-release
6、安裝ansible:
yum install ansible -y
這裡預設安裝的是ansible2.7
修改配置檔案 vim /etc/ansible/hosts 新增主機組
7、ssh免祕鑰登入配置
生成金鑰檔案:ssh-keygen -t dsa -f ~/.ssh/id_dsa -P
""
與各主機免密登陸:ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]
192.168
.
175.144等
8、測試ansible
ping各主機狀態:ansible test -m ping
ansible 常用模組介紹
1、Command 模組
作用:在遠端主機執行命令
示例:ansible web -a "ls /root" #省略模組不寫預設為command模組
注意:該模組不支援一些特殊符號如`"<"', `">"', `"|"',`";"' and `"&"等如需利用這些符號需使用shell模組。
2、shell模組
作用:在遠端主機在shell程序下執行命令,支援shell特性,如管道等。
示例:ansible web -m shell -a "echo 123456|passwd --stdin wang"
3、copy模組
作用:在遠端主機執行賦值操作檔案
示例:
(1) src= dest=
(2) content= dest= #content生成字元到目標檔案
其他 owner,group, mode (mode#修改許可權)
[[email protected]_1~]# ansible web -m copy -a "src=/etc/fstab dest=/apps/test"
[[email protected]_1~]# ansible web -m copy -a"content='hello world1' dest=/apps/test"
[[email protected]_1 ~]# ansible web -m copy-a "content='hello world1' mode=777 dest=/apps/test1"
4、cron模組
作用:主要是用來對定時任務進行排程
引數:
name= 任務的描述
minute= 分
day= 天
weekday= 周
hour= 時
Month 月
job= 需要執行的命令,必須狀態為present
state= 狀態
present:建立
absent:刪除
5、fetch模組
作用:fetches a file from remotenodes (獲取遠端節點檔案)
6、file模組
作用:sets attributes of files( 設定檔案的屬性)
用法:
(1) 建立連結檔案:*path= src= state=link
(2) 修改屬性 : path= owner= mode= grup=
(3) 建立目錄:path= state=directory
7、filesystem模組
作用:Makes file system on block device 能夠在塊裝置上建立檔案系統(慎用)
8、hostname模組
作用:管理主機名稱
9、pip模組
作用:Manages Python librarydependencies. #管理Python庫依賴項。
10、yum模組
作用:Manages packages with the`yum' package manager #使用`yum'軟體包管理器管理軟體包
引數:
name= 程式包名稱,可以帶版本號
state= 狀態
present,latest 目前/最新版本
installed 安裝
conf_file:指定yum配置檔案
示例:[[email protected]_1 ~]# ansibleweb -m yum -a "name=httpd state=latest"
11、service 模組
作用:管理服務
引數
name= 服務名稱
state= 狀態
started 啟動
stopped 停止
restarted 重啟
enabled= [yes|no] 是否隨系統啟動
runlevel= 執行級別
示例:ansible web -m service -a"name=httpd state=started enabled=yes runlevel=5" #記得針對Centos7就
不要使用這個模組了。
12、user 模組
作用:管理使用者帳號
引數:
name= 使用者名稱
state= 狀態
system= [yes|no] 是否為系統使用者
shell= 預設shell型別 指定shell
uid= 指定UID
home= 指定家目錄
group= 指定屬組
groups= 指定附加組
comment= 描述資訊
13、script模組
執行指令碼 (執行的是本地的指令碼將其複製到遠端在執行)
-a “/PATH/TO/SCRIPT_FILE” 會在遠端自動給予許可權並執行
14、Template模組
基於模板方式生成一個檔案複製到遠端主機(template使用Jinjia2格式作為檔案模版,進行文件內變數的替換的模組。它的每次使用都會被ansible標記為”changed”狀態。)下一章節由詳細應用介紹。
backup= 備份
src= 原始檔
dest= 目標路徑
owner= 屬主
group= 主組
mode= 許可權
下一章節準備 介紹ansible-playbook的使用 敬請期待!!!