Junior
No kā sastāv loma, kādi mapes un faili to veido?
sobes.tech AI
Atbilde no AI
Ansible loma sastāv no direktoriju un failu kopas, kas definē uzdevumus, mainīgos, šablonus, failus, apstrādātājus un metadatus, lai izpildītu noteiktu funkciju pārvaldītajos mezglos.
Galvenā lomas struktūra:
defaults/: Noklusējuma mainīgo vērtības lomai.vars/: Specifiski mainīgie lomai, kas pārklājdefaults/vērtības.tasks/: Galvenie uzdevumi, ko veic loma. Failsmain.ymlir obligāts.handlers/: Apstrādātāji, kas tiek aktivizēti noteiktos notikumos (piemēram, pakalpojuma pārstartēšana). Failsmain.ymlir obligāts.files/: Faili, kas tiks kopēti uz pārvaldītajiem mezgliem.templates/: Jinja2 šabloni, kas tiks kopēti uz pārvaldītajiem mezgliem pēc apstrādes.meta/: Lomas informācija: atkarības, autors, licences. Failsmain.ymlir obligāts.library/: Lietotāja moduļi.module_utils/: Lietotāja utilīti.lookup_plugins/: Lookup spraudņi.filter_plugins/: Filtru spraudņi.
Piemērs tasks/main.yml faila saturam:
# tasks/main.yml
- name: Instalēt Nginx tīmekļa serveri
ansible.builtin.apt:
name: nginx
state: present
- name: Kopēt Nginx konfigurācijas failu
ansible.builtin.template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: Pārlādēt Nginx
handlers/main.yml piemērs:
# handlers/main.yml
- name: Pārlādēt Nginx
ansible.builtin.service:
name: nginx
state: restarted
templates/nginx.conf.j2 šablona piemērs:
# templates/nginx.conf.j2
server {
listen {{ http_port }};
server_name {{ server_name }};
location / {
proxy_pass http://localhost:{{ app_port }};
}
}
defaults/main.yml faila piemērs:
# defaults/main.yml
http_port: 80
server_name: localhost
app_port: 8080
meta/main.yml saturs:
# meta/main.yml
galaxy_info:
author: Your Name
description: Loma Nginx instalēšanai un konfigurēšanai
license: MIT
min_ansible_version: 2.9
platforms:
- name: Debian
versions:
- all
- name: Ubuntu
versions:
- bionic
galaxy_tags: []
dependencies: []
Katrs direktorijs, izņemot library un module_utils, jābūt ar failu main.yml (vai main.yaml), kas ir šīs roles ieejas punkts.