Ansible 安裝 及 基礎模塊介紹
阿新 • • 發佈:2018-08-04
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 安裝 及 基礎模塊介紹