Junior
Rol nima, uning tarkibiga qaysi papkalar va fayllar kiradi?
sobes.tech AI
AIdan javob
Ansible roli, boshqariladigan tugunlarda ma'lum bir funktsiyani bajarish uchun vazifalar, o'zgaruvchilar, shablonlar, fayllar, handlerlar va metadatalarni belgilovchi kataloglar va fayllardan iborat.
Rolning asosiy katalog tuzilishi:
defaults/: Rol uchun o'zgaruvchilar uchun standart qiymatlar.vars/: Rolga xos o'zgaruvchilar.defaults/qiymatlarini ustun qiladi.tasks/: Rol tomonidan bajariladigan asosiy vazifalar.main.ymlfayli majburiy.handlers/: Maxsus voqealar (masalan, xizmatni qayta ishga tushirish) uchun chaqiriladigan handlerlar.main.ymlfayli majburiy.files/: Boshqariladigan tugunlarga ko'chiriladigan fayllar.templates/: Jinja2 shablon fayllari, ular ishlov berilgach boshqariladigan tugunlarga ko'chiriladi.meta/: Rol haqida ma'lumotlar: bog'liqliklar, muallif, litsenziya.main.ymlfayli majburiy.library/: Maxsus modullar.module_utils/: Maxsus modullar uchun utilitlar.lookup_plugins/: Lookup uchun plaginlar.filter_plugins/: Filtrlar uchun plaginlar.
tasks/main.yml fayli misoli:
# tasks/main.yml
- name: Nginx veb-serverini o'rnatish
ansible.builtin.apt:
name: nginx
state: present
- name: Nginx konfiguratsiya faylini ko'chirish
ansible.builtin.template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: Nginxni qayta ishga tushurish
handlers/main.yml fayli misoli:
# handlers/main.yml
- name: Nginxni qayta ishga tushurish
ansible.builtin.service:
name: nginx
state: restarted
templates/nginx.conf.j2 fayli misoli:
# templates/nginx.conf.j2
server {
listen {{ http_port }};
server_name {{ server_name }};
location / {
proxy_pass http://localhost:{{ app_port }};
}
}
defaults/main.yml fayli misoli:
# defaults/main.yml
http_port: 80
server_name: localhost
app_port: 8080
meta/main.yml fayli ma'lumotlar:
# meta/main.yml
galaxy_info:
author: Your Name
description: Nginxni o'rnatish va sozlash uchun rol.
license: MIT
min_ansible_version: 2.9
platforms:
- name: Debian
versions:
- all
- name: Ubuntu
versions:
- bionic
galaxy_tags: []
dependencies: []
Har bir katalog, library va module_utils tashqari, main.yml (yoki main.yaml) faylini o'z ichiga olishi kerak, bu rolning bu qismi uchun kirish nuqtasidir.