-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAnsible-Task-3
108 lines (88 loc) · 2.17 KB
/
Ansible-Task-3
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# ansible-vault create --vault-id aws@prompt secure.yml
# vim awsplay.yml
- hosts: localhost
vars_files:
- secure.yml
tasks:
- name: OS Provisioning for webserver
ec2:
key_name: "mywebserver"
instance_type: t2.micro
image: "ami-0ebc1ac48dfd14136"
count: 3
instance_tags:
Name: webservers
vpc_subnet_id: "subnet-16c15918"
assign_public_ip: yes
region: us-east-1
state: present
group_id: "sg-01ca62f41744fb3c1"
aws_access_key: "{{ access_key }}"
aws_secret_key: "{{ secret_key }}"
register: y
- name: OS Provisioning for Load Balancer
ec2:
key_name: "mywebserver"
instance_type: t2.micro
image: "ami-0ebc1ac48dfd14136"
count: 1
instance_tags:
Name: webservers
vpc_subnet_id: "subnet-16c15918"
assign_public_ip: yes
region: us-east-1
state: present
group_id: "sg-01ca62f41744fb3c1"
aws_access_key: "{{ access_key }}"
aws_secret_key: "{{ secret_key }}"
register: y
# vim /webserver/tasks/main.yml
# tasks file for webserver
- name: httpd install
package:
name: httpd
state: present
become: true
- name: Set contents
copy:
content: " Host Name : {{ ansible_hostname }}"
dest: /var/www/html/index.html
become: true
- name: Start service
service:
name: httpd
state: started
become: true
# vim /loadbalancer/tasks/main.yml
# tasks file for loadbalancer
- name: Install HAproxy
package:
name: "haproxy"
state: present
become: true
- name: configuration
template:
src: "/etc/haproxy/haproxy.cfg"
dest: "/etc/haproxy/haproxy.cfg"
notify: Restart
become: true
- name: Start HAProxy service
service:
name: "haproxy"
state: started
become: true
# vim /loadbalancer/handlers/main.yml
# handlers file for loadbalancer
- name: Restart
service:
name: "haproxy"
state: restarted
become: true
# vim main_roles.yml
- hosts: loadbalancer
roles:
- role: loadbalancer
- hosts: webserver
roles:
- role: webserver
# ansible-playbook --vault-id aws@prompt awsplay.yml