Bläddra i källkod

clase 09/02/23

Student User 2 år sedan
förälder
incheckning
cda4c64051
32 ändrade filer med 311 tillägg och 0 borttagningar
  1. 9 0
      T3/classroom/ansible.cfg
  2. 0 0
      T3/classroom/create_users.yml
  3. 0 0
      T3/classroom/print_facts.yml
  4. 0 0
      T3/classroom/print_ip.yml
  5. 7 0
      T3/classroom/systems
  6. 0 0
      T3/classroom/variables.yml
  7. 0 0
      T5/classroom/Ej1/almacena_facts-jinja2.yaml
  8. 0 0
      T5/classroom/Ej1/ansible.cfg
  9. 0 0
      T5/classroom/Ej1/hosts.j2
  10. 0 0
      T5/classroom/Ej1/inventory
  11. 9 0
      T5/classroom/Ej3/ansible.cfg
  12. 7 0
      T5/classroom/Ej3/systems
  13. 9 0
      T5/guided/projects-file/ansible.cfg
  14. 1 0
      T5/guided/projects-file/inventory
  15. 24 0
      T5/guided/projects-file/playbook.yml
  16. 9 0
      T5/guided/projects-file/plays/test.yml
  17. 10 0
      T5/guided/projects-file/tasks/environment.yml
  18. 19 0
      T5/guided/projects-file/tasks/firewall.yml
  19. 5 0
      T5/guided/projects-file/tasks/placeholder.yml
  20. 1 0
      T5/guided/projects-host/ansible.cfg
  21. 63 0
      T5/guided/projects-host/inventory1
  22. 17 0
      T5/guided/projects-host/inventory2
  23. 7 0
      T5/guided/projects-host/playbook.yml
  24. 9 0
      T5/guided/projects-review/ansible.cfg
  25. 8 0
      T5/guided/projects-review/files/tune.conf
  26. 4 0
      T5/guided/projects-review/inventory
  27. 17 0
      T5/guided/projects-review/playbook.yml
  28. 11 0
      T5/guided/projects-review/tasks/firewall_tasks.yml
  29. 11 0
      T5/guided/projects-review/tasks/install_and_enable.yml
  30. 13 0
      T5/guided/projects-review/tasks/install_and_enable_loop.yml
  31. 26 0
      T5/guided/projects-review/tasks/web_and_firewall.yml
  32. 15 0
      T5/guided/projects-review/tasks/web_tasks.yml

+ 9 - 0
T3/classroom/ansible.cfg

@@ -0,0 +1,9 @@
+[defaults]
+inventory = systems
+remote_user = devops
+[privilege_escalation]
+become = true
+become_method = sudo
+become_user = root
+become_ask_pass = false
+ 

+ 0 - 0
T3/create_users.yml → T3/classroom/create_users.yml


+ 0 - 0
T3/print_facts.yml → T3/classroom/print_facts.yml


+ 0 - 0
T3/print_ip.yml → T3/classroom/print_ip.yml


+ 7 - 0
T3/classroom/systems

@@ -0,0 +1,7 @@
+[produccion]
+servera.lab.example.com
+serverd.lab.example.com
+[desarrollo]
+serverb.lab.example.com
+[sistemas]
+serverc.lab.example.com

+ 0 - 0
T3/variables.yml → T3/classroom/variables.yml


+ 0 - 0
T5/Ej1/almacena_facts-jinja2.yaml → T5/classroom/Ej1/almacena_facts-jinja2.yaml


+ 0 - 0
T5/Ej1/ansible.cfg → T5/classroom/Ej1/ansible.cfg


+ 0 - 0
T5/Ej1/hosts.j2 → T5/classroom/Ej1/hosts.j2


+ 0 - 0
T5/Ej1/inventory → T5/classroom/Ej1/inventory


+ 9 - 0
T5/classroom/Ej3/ansible.cfg

@@ -0,0 +1,9 @@
+[defaults]
+inventory = systems
+remote_user = devops
+[privilege_escalation]
+become = true
+become_method = sudo
+become_user = root
+become_ask_pass = false
+ 

+ 7 - 0
T5/classroom/Ej3/systems

@@ -0,0 +1,7 @@
+[produccion]
+servera.lab.example.com
+serverd.lab.example.com
+[desarrollo]
+serverb.lab.example.com
+[sistemas]
+serverc.lab.example.com

+ 9 - 0
T5/guided/projects-file/ansible.cfg

@@ -0,0 +1,9 @@
+[defaults]
+inventory=inventory
+remote_user=devops
+
+[privilege_escalation]
+become=True
+become_method=sudo
+beome_user=root
+become_ask_pass=False

+ 1 - 0
T5/guided/projects-file/inventory

@@ -0,0 +1 @@
+servera.lab.example.com

+ 24 - 0
T5/guided/projects-file/playbook.yml

@@ -0,0 +1,24 @@
+- name: configure webserver
+  hosts: servera.lab.example.com
+  tasks:
+    - name: include environment tasks
+      include_tasks: tasks/environment.yml
+      vars:
+        package: httpd
+        service: httpd
+    - name: include firewall tasks
+      include_tasks: tasks/firewall.yml
+      vars:
+        firewall_pkg: firewalld
+        firewall_svc: firewalld
+        rule:
+          - http
+          - https
+    - name: include placeholder tasks
+      include_tasks: tasks/placeholder.yml
+      vars:
+        file: /var/www/html/index.html
+- name: test play file and set the variable
+  import_playbook: plays/test.yml
+  vars:
+    url: 'http://servera.lab.example.com'

+ 9 - 0
T5/guided/projects-file/plays/test.yml

@@ -0,0 +1,9 @@
+---
+- name: Test web service
+  hosts: localhost
+  become: no
+  tasks:
+    - name: connect to internet web server
+      uri:
+        url: "{{ url }}"
+        status_code: 200

+ 10 - 0
T5/guided/projects-file/tasks/environment.yml

@@ -0,0 +1,10 @@
+---
+  - name: Install the {{ package }} package
+    yum:
+      name: "{{ package }}"
+      state: latest
+  - name: Start the {{ service }} service
+    service:
+      name: "{{ service }}"
+      enabled: true
+      state: started

+ 19 - 0
T5/guided/projects-file/tasks/firewall.yml

@@ -0,0 +1,19 @@
+---
+  - name: Install the firewall
+    yum:
+      name: "{{ firewall_pkg }}"
+      state: latest
+
+  - name: Start the firewall
+    service:
+      state: started
+      name: "{{ firewall_svc }}"
+      enabled: true
+
+  - name: Open the port for {{ rule }}
+    firewalld:
+      service: "{{ item }}"
+      immediate: true
+      permanent: true
+      state: enabled
+    loop: "{{ rule }}"

+ 5 - 0
T5/guided/projects-file/tasks/placeholder.yml

@@ -0,0 +1,5 @@
+---
+  - name: Create placeholder file
+    copy:
+      content: "{{ ansible_facts['fqdn'] }} has been customized using Ansible.\n"
+      dest: "{{ file }}"

+ 1 - 0
T5/guided/projects-host/ansible.cfg

@@ -0,0 +1 @@
+[defaults]

+ 63 - 0
T5/guided/projects-host/inventory1

@@ -0,0 +1,63 @@
+srv1.example.com
+srv2.example.com
+s1.lab.example.com
+s2.lab.example.com
+
+[web]
+jupiter.lab.example.com
+saturn.example.com
+
+[db]
+db1.example.com
+db2.example.com
+db3.example.com
+
+[lb]
+lb1.lab.example.com
+lb2.lab.example.com
+
+[boston]
+db1.example.com
+jupiter.lab.example.com
+lb2.lab.example.com
+
+[london]
+db2.example.com
+db3.example.com
+file1.lab.example.com
+lb1.lab.example.com
+
+[dev]
+web1.lab.example.com
+db3.example.com
+
+[stage]
+file2.example.com
+db2.example.com
+
+[prod]
+lb2.lab.example.com
+db1.example.com
+jupiter.lab.example.com
+
+[function:children]
+web
+db
+lb
+city
+
+[city:children]
+boston
+london
+environments
+
+[environments:children]
+dev
+stage
+prod
+new
+
+[new]
+172.25.252.23
+172.25.252.44
+172.25.252.32

+ 17 - 0
T5/guided/projects-host/inventory2

@@ -0,0 +1,17 @@
+workstation.lab.example.com
+
+[london]
+servera.lab.example.com
+
+[berlin]
+serverb.lab.example.com
+
+[tokyo]
+serverc.lab.example.com
+
+[atlanta]
+serverd.lab.example.com
+
+[europe:children]
+london
+berlin

+ 7 - 0
T5/guided/projects-host/playbook.yml

@@ -0,0 +1,7 @@
+---
+- name: Resolve host patterns
+  hosts:
+  tasks:
+    - name: Display managed host name
+      debug:
+        msg: "{{inventory_hostname}}"

+ 9 - 0
T5/guided/projects-review/ansible.cfg

@@ -0,0 +1,9 @@
+[defaults]
+inventory=inventory
+remote_user=devops
+
+[privilege_escalation]
+become=True
+become_method=sudo
+beome_user=root
+become_ask_pass=False

+ 8 - 0
T5/guided/projects-review/files/tune.conf

@@ -0,0 +1,8 @@
+KeepAlive Off
+
+<IfModule prefork.c>
+     MaxSpareServers     6 
+     ServerLimit         24
+     MaxRequestWorkers   24 
+     MaxRequestsPerChild 3000
+</IfModule>

+ 4 - 0
T5/guided/projects-review/inventory

@@ -0,0 +1,4 @@
+servera.lab.example.com
+serverb.lab.example.com
+serverc.lab.example.com
+serverd.lab.example.com

+ 17 - 0
T5/guided/projects-review/playbook.yml

@@ -0,0 +1,17 @@
+---
+- name: Install and configure web service
+  hosts:
+    - 'server?.lab.example.com'
+
+  tasks:
+    - name: import program tasks
+      import_tasks: tasks/web_tasks.yml
+    - name: import firewall tasks
+      import_tasks: tasks/firewall_tasks.yml
+#    - name: import looped tasks
+#      import_tasks: tasks/web_and_firewall.ymk
+  handlers:
+    - name: restart httpd
+      service:
+        name: httpd
+        state: restarted

+ 11 - 0
T5/guided/projects-review/tasks/firewall_tasks.yml

@@ -0,0 +1,11 @@
+- name: Install and enable httpd
+  import_tasks: install_and_enable.yml
+  vars:
+    package: firewalld
+    service: firewalld
+- name: Open the port for http
+  firewalld:
+    service: http
+    immediate: true
+    permanent: true
+    state: enabled

+ 11 - 0
T5/guided/projects-review/tasks/install_and_enable.yml

@@ -0,0 +1,11 @@
+- name: Install package
+  yum:
+    name: "{{ package }}"
+    state: latest
+
+- name: Enable and start httpd
+  service:
+    name: "{{ service }}"
+    enabled: true
+    state: started
+

+ 13 - 0
T5/guided/projects-review/tasks/install_and_enable_loop.yml

@@ -0,0 +1,13 @@
+- name: Install package
+  yum:
+    name: "{{ item.package }}"
+    state: latest
+  loop: "{{ program }}"
+
+- name: Enable and start httpd
+  service:
+    name: "{{ item.service }}"
+    enabled: true
+    state: started
+  loop: "{{ program }}"
+

+ 26 - 0
T5/guided/projects-review/tasks/web_and_firewall.yml

@@ -0,0 +1,26 @@
+- name: Install and enable httpd 
+  import_tasks: install_and_enable_loop.yml 
+  vars: 
+    program:
+      - package: httpd 
+        service: httpd 
+      - package: firewalld
+        service: firewalld
+
+- name: Tuning configuration installed 
+  copy: 
+    src: files/tune.conf 
+    dest: /etc/httpd/conf.d/tune.conf 
+    owner: root 
+    group: root 
+    mode: 0644 
+  notify: 
+    - restart httpd 
+
+- name: Open the port for http
+  firewalld:
+    service: http
+    immediate: true
+    permanent: true
+    state: enabled
+

+ 15 - 0
T5/guided/projects-review/tasks/web_tasks.yml

@@ -0,0 +1,15 @@
+- name: Install and enable httpd
+  import_tasks: install_and_enable.yml
+  vars:
+    package: httpd
+    service: httpd
+
+- name: Tuning configuration installed
+  copy:
+    src: files/tune.conf
+    dest: /etc/httpd/conf.d/tune.conf
+    owner: root
+    group: root
+    mode: 0644
+  notify:
+    - restart httpd