Junior
Ի՞նչ բաղադրիչներից և ֆայլերից է բաղկացած դերակատարությունը DevOps-ում։
sobes.tech AI
Պատասխան AI-ից
DevOps- ում դերը, որը առավել հաճախ իրականացնում է Ansible-ով, բաղկացած է հետևյալ հիմնական բաղադրիչներից և ֆայլերից.
tasks/: Ֆոլդեր, որը պարունակում է գործառույթները, որոնք իրականացնում է դերը: Հիմնական ֆայլը —main.yml:// tasks/main.yml - name: Ներբեռնել nginx apt: name: nginx state: presenthandlers/: Ֆոլդեր, որը պարունակում է հսկիչներ: Հիմնական ֆայլը —main.yml. Հսկիչները գործարկվում են միայն այն ժամանակ, երբ փոփոխություն է տեղի ունենում գործառույթներում, որոնք նրանց "տեղեկացնում" են:// handlers/main.yml - name: Վերագործարկել nginx service: name: nginx state: restarteddefaults/: Ֆոլդեր, որը պարունակում է դերի նախնական արժեքները փոփոխականների համար: Հիմնական ֆայլը —main.yml. Այս փոփոխականները ունեն ամենացածր առաջնահերթությունը:// defaults/main.yml nginx_port: 80vars/: Ֆոլդեր, որը պարունակում է դերի հատուկ փոփոխականները: Հիմնական ֆայլը —main.yml. Այս փոփոխականները ունեն ավելի բարձր առաջնահերթություն, քանdefaults/:// vars/main.yml nginx_user: www-datafiles/: Ֆոլդեր, որը պարունակում է ֆայլեր, որոնք կկատարվեն առանց փոփոխությունների՝ ուղղակի կկցվեն նպատակային մեքենաներին:// tasks/main.yml - name: Կատարված ֆայլի պատճենում copy: src: my_static_file.conf dest: /etc/nginx/conf.d/my_static_file.conftemplates/: Ֆոլդեր, որը պարունակում է շաբլոնային ֆայլեր (հաճախ Jinja2 ձևաչափով), որոնք կկատարվեն և կտեղադրվեն նպատակային մեքենաներին՝ փոխարինելով փոփոխականները:// templates/nginx.conf.j2 server { listen {{ nginx_port }}; ... }// tasks/main.yml - name: Կարգավորել nginx template: src: nginx.conf.j2 dest: /etc/nginx/nginx.conf notify: Վերագործարկել nginxmeta/: Ֆոլդեր, որը պարունակում է մետադատվածքներ, ինչպիսիք են կախվածությունները:// meta/main.yml dependencies: - role: another_role variable: valuelibrary/: (Ընտրովի) Ֆոլդեր, որը նախատեսված է օգտագործողի մոդուլների համար:module_utils/: (Ընտրովի) Ֆոլդեր, որը պարունակում է օգտագործողի utility-ներ, որոնք օգտագործվում են մոդուլներում:lookup_plugins/,filter_plugins/և այլն՝ (Ընտրովի) Ֆոլդեր, որոնք պարունակում են օգտագործողի պլագիններ տարբեր տեսակների:
Տիպիկ դերի կառուցվածքը հետևյալն է:
my_role/
├── tasks/
│ └── main.yml
├── handlers/
│ └── main.yml
├── defaults/
│ └── main.yml
├── vars/
│ └── main.yml
├── files/
│ └── my_static_file.conf
├── templates/
│ └── nginx.conf.j2
└── meta/
└── main.yml
Այս բաղադրիչները թույլ են տալիս կազմակերպել ավտոմատացման գործընթացը՝ տեղադրելու, կարգավորելու և կառավարելու ծառայությունները և համակարգերը կառուցվածքային և վերօգտագործվող ձևաչափով։