ansible角色部署haproxy并实现lamp和apache两个站点的轮询
一、部署apache
1、创建角色并编写task任务
[root@ansible ansible]# vim hosts
[webservers]
node1
node2
[haproxy]
node3
[root@ansible roles]# ansible-galaxy init httpd
- Role httpd was created successfully
[root@ansible roles]# ls
apache httpd mysql php
[root@ansible httpd]# cat tasks/main.yml
---
# tasks file for httpd
- name: stop firewalld
service:
name: firewalld
state: stopped
enabled: no
- name: stop selinux
lineinfile:
path: /etc/selinux/config
regexp: '^SELINUX='
line: SELINUX=disabled
- name: stop selinux
shell:
cmd: setenforce 0
- name: mount cdrom
mount:
src: /dev/cdrom
path: /mnt
fstype: iso9660
state: mounted
- name: set repo-1
yum_repository:
file: httpd
name: axi1
description: aa1
baseurl: file:///mnt/BaseOS
enabled: yes
gpgcheck: no
- name: set repo-2
yum_repository:
file: httpd
name: axi2
description: bb1
baseurl: file:///mnt/AppStream
enabled: yes
gpgcheck: no
- name: install httpd
yum:
name: httpd
state: present
- name: index.html
template:
src: index.html.j2
dest: /var/www/html/index.html
- name: restart httpd
service:
name: httpd
state: restarted
enabled: yes
//编写模板文件
[root@ansible httpd]# vim templates/index.html.j2
welcome to {
{ ansible_fqdn }} of {
{ ansible_ens33.ipv4.address }} to visit
2、调用角色