Bootstraping mit ansible und lxc
Datei zum Bootstrapping von ansible und lxc Maschinen.
This commit is contained in:
parent
a572a0f2c8
commit
4340d11275
|
@ -0,0 +1,79 @@
|
|||
---
|
||||
- name: Erstelle LXC
|
||||
hosts: lokal
|
||||
vars:
|
||||
lxc_containers:
|
||||
- ansible-lxc
|
||||
- db2
|
||||
- web
|
||||
- informaticker
|
||||
|
||||
tasks:
|
||||
- name: Erstelle ansible lxc
|
||||
become: yes
|
||||
lxc_container:
|
||||
name: "{{ item }}"
|
||||
state: started
|
||||
loop: "{{ lxc_containers }}"
|
||||
register: ansible_lxc_container
|
||||
|
||||
- debug:
|
||||
var: item
|
||||
loop: "{{ ansible_lxc_container['results'] }}"
|
||||
when: ansible_lxc_container is changed
|
||||
|
||||
- name: Dienste neustarten
|
||||
become: yes
|
||||
service:
|
||||
name: "{{ item }}"
|
||||
state: restarted
|
||||
loop:
|
||||
- lxc-net
|
||||
- systemd-resolved
|
||||
when: ansible_lxc_container is changed
|
||||
|
||||
- name: Make a break
|
||||
pause:
|
||||
seconds: 20
|
||||
when: ansible_lxc_container is changed
|
||||
|
||||
- name: Erstelle ansible lxc
|
||||
become: yes
|
||||
lxc_container:
|
||||
name: "{{ item }}"
|
||||
state: started
|
||||
register: ansible_lxc_container
|
||||
loop: "{{ lxc_containers }}"
|
||||
|
||||
- debug:
|
||||
var: ansible_lxc_container
|
||||
|
||||
- name: Erstelle lxc-inventory
|
||||
copy:
|
||||
dest: lxc_inventory
|
||||
content: |
|
||||
[lxc]
|
||||
[lxc:vars]
|
||||
|
||||
- name: Hosteinträge
|
||||
lineinfile:
|
||||
path: lxc_inventory
|
||||
insertbefore: [lxc:vars]
|
||||
regexp: "^{{ item.lxc_container.name }} ansible_host={{ item.lxc_container.ips[0] }}"
|
||||
line: "{{ item.lxc_container.name }} ansible_host={{ item.lxc_container.ips[0] }}"
|
||||
loop: "{{ ansible_lxc_container['results'] }}"
|
||||
|
||||
- name: Gruppenvariablen anhängen
|
||||
blockinfile:
|
||||
path: lxc_inventory
|
||||
insertafter: [lxc:vars]
|
||||
block: |
|
||||
ansible_user=ubuntu
|
||||
ansible_password=ubuntu
|
||||
ansible_ssh_common_args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
|
||||
ansible_become_pass=ubuntu
|
||||
...
|
||||
|
||||
# Bootstrapping neues Verzeichnis mit ansible.cfg und Inventory Datei
|
||||
# ansible --inventory localhost, --connection=local --module-name copy --args="dest=ansible.cfg content=[defaults]\ninventory=my_hosts\n" localhost
|
||||
# ansible --inventory localhost, --connection=local --module-name copy --args="dest=my_hosts content=[lokal]\nlocalhost\tansible_connection=local\n" localhost
|
Loading…
Reference in New Issue