Ansible-playbook

Ansiable調用playbook批量配置管理
playbook是由一個或多個模塊組成的,使用多個不同的模塊,完成一件事情。

安裝一個服務,配置,并啟動。

1.找誰來拍。
2.大概的任務。
3.具體怎么做。

安裝httpd服務->playbook

1.安裝
2.配置
3.啟動
[root@m01 ~]# cat httpd_install.yaml 

這是一個ansible的playbook

- hosts: web
  tasks:

- name: Install Httpd Server
  yum: name=httpd,httpd-tools state=installed

- name: Start Httpd Server
  service: name=httpd state=started enabled=yes 

執行ansible-playbook httpd_install.yaml 推送

推送

拷貝httpd.conf文件 到目標主機上
- name: Configure Httpd Server
  copy: src=./httpd.conf dest=/etc/httpd/conf/httpd.conf

批量管理初始化集群

環境規劃

角色    外網IP(NAT) 內網IP(LAN)   部署軟件
m01       eth0:10.0.0.61    eth1:172.16.1.61    ansible
backup    eth0:10.0.0.41    eth1:172.16.1.41    rsync
nfs       eth0:10.0.0.31    eth1:172.16.1.31    nfs、Sersync
web01     eth0:10.0.0.7     eth1:172.16.1.7     httpd

全網備份 實時備份 目錄規劃

[root@m01 ~]# mkdir /etc/ansible/ansible_playbook/{file,conf,scripts} -p
[root@m01 ~]# tree /etc/ansible/ansible_playbook/
/etc/ansible/ansible_playbook/
├── conf
└── file
└── scripts

基礎環境:所有機器統一的配置

1.需要關閉firewalld以及selinux、epel倉庫、ssh端口、優化基礎配置
2.需要安裝rsync和nfs-utils
3.準備www用戶
4.需要準備/etc/rsync.pass密碼文件
5.需要準備全網備份腳本
基礎的playbook劇本

[root@m01 ansible_playbook]# cat base.yaml 
- hosts: all
  tasks:
    - name: Install Epel Repos
      get_url: url=http://mirrors.aliyun.com/repo/epel-7.repo dest=/etc/yum.repos.d/epel.repo
    - name: Dns Client
      copy: src=./conf/resolv.conf dest=/etc/resolv.conf
    - name: Install Rsync Nfs-Utils
      yum: name=rsync,nfs-utils state=installed
    - name: Create Group WWW
      group: name=www gid=666
    - name: Create User WWW
      user: name=www uid=666 group=666 create_home=no shell=/sbin/nologin
    - name: Create Rsync_Client_Pass
      copy: content='1' dest=/etc/rsync.pass mode=600
    - name: Create Scripts Directory
      file: path=/server/scripts recurse=yes state=directory
    - name: Push File Scripts
      copy: src=./scripts/rsync_backup_md5.sh dest=/server/scripts/
    - name: Crontable Scripts
      cron: name="backup scripts" hour=01 minute=00 job="/bin/bash /server/scripts/rsync_backup_md5.sh &>/dev/null"

應用環境:Rsync

1.安裝rsync
2.配置rsync(配置變更,一定要進行重載操作)
3.創建虛擬用戶,權限調整
4.創建目錄/data/ /backup
5.啟動rsync
6.配置郵箱->郵箱的發件人->校驗的腳本

[root@m01 ansible_playbook]# cat rsync.yaml 
- hosts: backup
  tasks:
    - name: Installed Rsync Server
      yum: name=rsync,mailx state=installed

    - name: configure Rsync Server
      copy: src=./conf/rsyncd.conf dest=/etc/rsyncd.conf
      notify: Restart Rsync Server

    - name: Create Virt User
      copy: content='rsync_backup:1' dest=/etc/rsync.password mode=600

    - name: Create Data 
      file: path=/data state=directory recurse=yes owner=www group=www mode=755

    - name: Create Backup 
      file: path=/backup state=directory recurse=yes owner=www group=www mode=755

    - name: Start RsyncServer
      service: name=rsyncd state=started enabled=yes

    - name: Push Check Scripts
      copy: src=./scripts/rsync_check_backup.sh dest=/server/scripts/

    - name: Crond Check Scripts
      cron: name="check scripts" hour=05 minute=00 job="/bin/bash /server/scripts/rsync_check_backup.sh &>/dev/null"

    handlers:
    - name: Restart Rsync Server
      service: name=rsyncd state=restarted

3.應用環境:NFS

1.安裝nfs-utils
2.配置nfs(當修改了配置,觸發重載操作)
3.創建目錄,授權
4.啟動
[root@m01 ansible_playbook]# cat nfs.yaml
– hosts: nfs
tasks:
– name: Installed Nfs Server
yum: name=nfs-utils state=installed
– name: Configure Nfs Server
copy: src=./conf/exports dest=/etc/exports
notify: Restart Nfs Server
– name: Create Share Data
file: path=/data state=directory recurse=yes owner=www group=www mode=755
– name: Start Nfs Server
service: name=nfs-server state=started enabled=yes
handlers:
– name: Restart Nfs Server
service: name=nfs-server state=restarted

4.應用環境:Sersync

1.下載sersync
2.解壓,改名,配置
3.啟動

[root@m01 ansible_playbook]# cat sersync.yaml 
- hosts: nfs
  tasks:
    - name: Scp Sersync
      copy: src=./file/sersync2.5.4_64bit_binary_stable_final.tar.gz dest=/usr/local/sersync.tar.gz
    - name: Zip
      shell: cd /usr/local && tar xf sersync.tar.gz && mv GNU-Linux-x86 sersync
      args:
        creates: /usr/local/sersync
    - name: configure Sersync
      copy: src=./conf/confxml.xml dest=/usr/local/sersync/
    - name: Start Sersync
      shell: /usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xml

5.應用環境:WEB

1、掛載nfs共享的目錄

[root@m01 ansible_playbook]# cat web.yaml 
- hosts: web
  tasks:
    - name: Mount NFS Server Share Data
      mount: src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=mounted   
——————————————————————————————————————————————————————————————————————————————————————
包含include
[root@m01 ansible_playbook]# cat mail.yaml 
- import_playbook: base.yaml
- import_playbook: rsync.yaml
- import_playbook: nfs.yaml
- import_playbook: sersync.yaml
- import_playbook: web.yam
l
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容