1. 程式人生 > >Ansible 安裝 及 基礎模塊介紹

Ansible 安裝 及 基礎模塊介紹

ron comm 退出 並行 客戶端 鏈接文件 基礎 擁有 環境

ansible 介紹

Ansible基於Python開發,集合了眾多優秀運維工具的優點,實現了批量運行命令部署程序、配置系統等功能。默認通過SSH協議進行遠程命令執行或下發配置,無需部署任何客戶端代理軟件,從而使得自動化環境部署變得更加簡單。可同時支持多臺主機並行管理,使得管理主機更加便捷。

ansible 安裝

在管理端與 被管理端都要安裝

yum install -y epel-release   ##安裝epel源
yum install ansible -y

ansible --version          ##查看ansible版本

/etc/ansible 文件夾下

ansible.cfg    ##ansible的配置文件

hosts    ##ansible的主倉庫,用於存儲需要管理的遠程主機的相關信息

roles     ##角色

cd /etc/ansible
vi hosts       ##配置主機清單
[aaa]
192.168.x.x      ##被管理端的IP
[bbb]
192.168.x.x

ssh-keygen -t rsa      ##生成秘鑰
ssh-copy-id [email protected]
 ##配置密鑰對驗證

---------免交互代理--------------

ssh-agent bash
ssh-add

ansible 基礎模塊 及 實例

------command模塊------
命令格式:ansible [主機] [-m 模塊] [-a args]
ansible-doc -l     ##列出所有已安裝的模塊 註:按q退出

ansible-doc -s yum   ##-s列出yum模塊描述信息和操作動作

ansible 192.168.x.x -m command -a ‘date‘  ##指定ip執行date

ansible aaa -m command -a ‘date‘       ##指定設置好的主機執行date

ansible all -m command -a ‘date‘        ##所有hosts主機執行date命令

ansible all -a ‘ls /‘      如果不加-m模塊,則默認運行command模塊

-----cron模塊------

兩種狀態(state):present表示添加(可以省略),absent表示移除。

ansible-doc -s cron      ##查看cron模塊信息

ansible aaa -m cron -a ‘minute="*/1" job="/bin/echo heihei" name="test cron job"‘
## 添加計劃

ansible aaa -a ‘crontab -l‘  ##顯示計劃列表

ansible aaa -m cron -a ‘name="test cron job" state=absent‘    ##移除計劃任務,假如該計劃任務沒有取名字,name=None即可

-----user模塊------

user模塊是請求的是useradd, userdel, usermod三個指令

ansible-doc -s user

ansible aaa -m user -a ‘name="test01"‘    ##創建用戶test01

ansible aaa -m command -a ‘tail /etc/passwd‘   ##查看用戶

ansible aaa -m user -a ‘name="test01" state=absent‘    ##刪除用戶test01

-----group模塊-----

group模塊請求的是groupadd, groupdel, groupmod 三個指令。

ansible-doc -s group

ansible aaa -m group -a ‘name=mysql gid=306 system=yes‘     ##添加組

ansible aaa -a ‘tail /etc/group‘    ##查看組

ansible aaa -m user -a ‘name=test01 uid=306 system=yes group=mysql‘   ##為用戶指定組

ansible aaa -a ‘id test01‘     ##查看用戶

------copy模塊--------

ansible-doc -s copy

ansible aaa -m copy -a ‘src=/etc/fstab dest=/opt/fstab.back owner=root mode=640‘
## 將管理端/etc/fstab 復制到 被管理端的 /opt/fstab.bak  擁有者為root,權限設置為640

ansible aaa -a ‘ls -l /opt‘   ##查看復制情況

ansible aaa -m copy -a ‘content="hello heihei!"
dest=/opt/fstab.back‘  ##將hello heihei!寫入/opt/fstab.back

ansible aaa -a ‘cat /opt/fstab.back‘   ##查看寫入情況

------file模塊--------
ansible-doc -s file

ansible aaa -m user -a ‘name=abc system=yes‘    ##創建用戶

ansible aaa -m group -a ‘name=abc system=yes‘   ##創建組

ansible aaa -m file -a ‘owner=abc group=abc mode=644 path=/opt/fstab.back‘        ##修改文件的屬主屬組權限等

ansible aaa -m file -a ‘path=/opt/fstab.link src=/opt/fstab.back state=link‘      ##設置/opt/fstab.link為/opt/fstab.back的鏈接文件

ansible aaa -m file -a "path=/opt/fstab.back state=absent"           ##刪除一個文件

ansible aaa -m file -a "path=/opt/test state=touch"             ##創建一個文件
ansible aaa -m file -a ‘path=/opt/temp state=directory mode=755‘ ##創建目錄

-----ping模塊-------

ansible all -m ping

Ansible 安裝 及 基礎模塊介紹