Junior
Millelt koosneb roll, millised kaustad ja failid seda moodustavad?
sobes.tech AI
Vastus AI-lt
Ansible'i roll koosneb kataloogide ja failide kogumist, mis määratlevad ülesandeid, muutujaid, malle, faile, töötlejaid ja metaandmeid, et täita konkreetset funktsiooni hallatavatel sõlmedel.
Rolli põhistruktuur:
defaults/: Vaikimisi muutuja väärtused rolli jaoks.vars/: Spetsiifilised muutuja väärtused rolli jaoks, mis üle kirjutavaddefaults/väärtused.tasks/: Põhülesanded, mida roll täidab. Failmain.ymlon kohustuslik.handlers/: Töötlejad, mida käivitatakse teatud sündmuste korral (nt teenuse taaskäivitamine). Failmain.ymlon kohustuslik.files/: Failid, mis kopeeritakse hallatavate sõlmedeni.templates/: Jinja2 mallid, mis kopeeritakse hallatavate sõlmedeni pärast töötlemist.meta/: Rolli teave: sõltuvused, autor, litsents. Failmain.ymlon kohustuslik.library/: Kasutaja moodulid.module_utils/: Kasutaja utiliidid.lookup_plugins/: Lookup pluginad.filter_plugins/: Filtripluginad.
Näide tasks/main.yml faili sisust:
# tasks/main.yml
- name: Installige Nginx veebiserver
ansible.builtin.apt:
name: nginx
state: present
- name: Kopeerige Nginx konfiguratsioonifail
ansible.builtin.template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: Taaskäivita Nginx
handlers/main.yml näide:
# handlers/main.yml
- name: Taaskäivita Nginx
ansible.builtin.service:
name: nginx
state: restarted
templates/nginx.conf.j2 mallinäide:
# templates/nginx.conf.j2
server {
listen {{ http_port }};
server_name {{ server_name }};
location / {
proxy_pass http://localhost:{{ app_port }};
}
}
defaults/main.yml näide:
# defaults/main.yml
http_port: 80
server_name: localhost
app_port: 8080
meta/main.yml sisaldab metaandmeid rolli kohta:
# meta/main.yml
galaxy_info:
author: Your Name
description: Roll Nginx installimiseks ja konfigureerimiseks
license: MIT
min_ansible_version: 2.9
platforms:
- name: Debian
versions:
- all
- name: Ubuntu
versions:
- bionic
galaxy_tags: []
dependencies: []
Iga kataloog, välja arvatud library ja module_utils, peab sisaldama faili main.yml (või main.yaml), mis on selle rolli sisenemispunkt.