1. 程式人生 > >playbook 建立一個角色的步驟

playbook 建立一個角色的步驟

重載 and user 啟動服務 tar star 重啟 名稱 pla

1.建立角色目錄
mkdir -pv /etc/ansible/roles/httpd/{files,templates,tasks,handlers,vars,meta,default}

2.建立主任務,主要四個步驟包括:
安裝包,
復制模擬配置文件
啟動服務
通知:當配置文件修改時通知重啟/重載配置文件

[root@ansible ~]# vi /etc/ansible/roles/httpd/tasks/main.yml 
 - name: httpd install                      #安裝包                                  
   yum: name=httpd state=installed
   when: ansible_os_family == "RedHat"
 - name: install configfile                #復制模擬配置文件
   template: src=/etc/ansible/roles/httpd/templates/httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf
   tags: conf
   notify: restart httpd                   #通知:當配置文件修改時通知重啟/重載配置文件
 - name: start httpd                       #啟動服務
   service: name=httpd state=started enabled=yes

3.當收到通知時重啟服務

[root@ansible ~]# vi /etc/ansible/roles/httpd/handlers/main.yml
 - name: restart httpd     #註意收到通知名稱必須和發出通知名稱一樣
   service: name=httpd state=restarted  

4.配置好服務配置文件 httpd 配置文件
1.要將原配置文件復制到roles/httpd/templates 下,且文件名為j2
cp /etc/httpd/conf/httpd.conf /etc/ansible/roles/httpd/templates/httpd.conf.j2

2..編輯httpd配置文件

vi /etc/ansible/roles/httpd/templates/httpd.conf.j2
 Listen {{ ansible_ens33.ipv4.address }}:80    #監聽地址參數
 ServerName {{ ansible_nodename }}:80          #server_name

5.建設好調用角色的playbook文件

vi /etc/ansible/playbooks/httpd.yml 
  - hosts: tcsrvs
  remote_user: root
  roles:
  - httpd

playbook 建立一個角色的步驟