ansible-playbook一键化部署apache服务
原创 chaos_oper 最后发布于2019-06-13 21:31:44 阅读数 463 收藏
展开
Playbook(任务剧本)
playbook是简单易用的自动化语言
编排定义ansible任务集的配置文件,由ansible顺序依次执行,通常是JSON格式的* YML文件
playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。Playbook可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式。
实战:playbook一键化部署apache服务
1.配置playbook.yml文件
[ ansible]$ vim playbook.yml
---
- hosts: webservers
tasks:
- name: install httpd
yum:
name: httpd
state: latest
- name: start httpd
service:
name: httpd
state: started
1
2
3
4
5
6
7
8
9
10
11
12
13
在这里插入图片描述
2.查看playbook.yml部署的任务
[ ansible]$ ansible-playbook playbook.yml --list-tasks
1
在这里插入图片描述
3.语法检测
[ ansible]$ ansible-playbook playbook.yml --syntax-check
1
在这里插入图片描述
4.推送
[ ansible]$ ansible-playbook playbook.yml
1
在这里插入图片描述
5.修改测试页
[ ansible]$ vim playbook.yml
---
- hosts: webservers
tasks:
- name: install httpd
yum:
name: httpd
state: latest
- name: create index.html
copy:
content: "www.westos.org\n"
dest: /var/www/html/index.html
- name: start httpd
service:
name: httpd
state: started
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
6.语法检测
[ ansible]$ ansible-playbook playbook.yml --syntax-check
1
7.推送
[ ansible]$ ansible-playbook playbook.yml
1
在这里插入图片描述
8.测试
在这里插入图片描述
9.推送httpd.conf配置文件,开机自启
[ ansible]$ vim playbook.yml
---
- hosts: webservers
tasks:
- name: install httpd
yum:
name: httpd
state: latest
- name: create index.html
copy:
content: "www.westos.org\n"
dest: /var/www/html/index.html
- name: configure httpd
copy:
src: files/httpd.conf
dest: /etc/httpd/conf/httpd.conf
owner: root
group: root
mode: 644
notify: restart httpd
- name: start httpd
service:
name: httpd
state: started
enabled: true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
10.将http.conf配置文件放到files目录下
[ ansible]$ mkdir files
[ ansible]$ cd files/
[ files]$ scp server5:/etc/httpd/conf/httpd.conf .
httpd.conf 100% 11KB 11.5KB/s 00:00
1
2
3
4
11.语法检测并推送
[ ansible]$ ansible-playbook playbook.yml --syntax-check
playbook: playbook.yml
[ ansible]$ ansible-playbook playbook.yml
1
2
3
4
在这里插入图片描述
12.查看是否同步过去
[ files]$ md5sum httpd.conf
f5e7449c0f17bc856e86011cb5d152ba httpd.conf
[ ~]# md5sum /etc/httpd/conf/httpd.conf
f5e7449c0f17bc856e86011cb5d152ba /etc/httpd/conf/httpd.conf
1
2
3
4
13.server2是否开启httpd,并且是开机自启动
在这里插入图片描述
14.火墙允许httpd服务
[4 ansible]$ vim playbook.yml
- name: configure firewalld
firewalld:
service: http
state: enabled
permanent: yes
immediate: yes
1
2
3
4
5
6
7
15.语法检测并部署
[ ansible]$ ansible-playbook playbook.yml --syntax-check
playbook: playbook.yml
[ ansible]$ ansible-playbook playbook.yml
1
2
3
4
13.不同虚拟机显示不同的测试页内容
[ ansible]$ vim playbook.yml
1
在这里插入图片描述
[ ansible]$ ansible-playbook playbook.yml
[ ansible]$ curl server5
server5
[ ansible]$ curl server6
server6
1
2
3
4
5
16.定义httpd端口
[ ansible]$ vim playbook.yml
1
在这里插入图片描述
[ ansible]$ vim files/httpd.conf
Listen {{ http_port }}
[ ansible]$ ansible-playbook playbook.yml
1
2
3
17.检测端口号
在这里插入图片描述
18.修改apache服务的端口为8080
1)建立模版目录templates
[ ansible]$ mkdir templates
1
2)将模版放到该目录里
[ ansible]$ mv files/httpd.conf.j2 templates/
1
3)修改playbook.yml文件
[ ansible]$ vim playbook.yml
1
在这里插入图片描述
在这里插入图片描述
4)推送
[ ansible]$ ansible-playbook playbook.yml
1
5)查看配置文件是否修改成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点赞 1
收藏
分享
chaos_oper
发布了124 篇原创文章 · 获赞 144 · 访问量 4万+
私信
关注
————————————————
版权声明:本文为CSDN博主「chaos_oper」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chaos_oper/java/article/details/91894524