Junior
No kādiem komponentiem un failiem sastāv loma DevOps?
sobes.tech AI
Atbilde no AI
DevOps lomā, kas visbiežāk tiek īstenots ar Ansible palīdzību, sastāv no šādām galvenajām sastāvdaļām un failiem:
tasks/: mape, kas satur uzdevumus, kurus veic loma. Galvenais fails —main.yml.// tasks/main.yml - name: Instalēt nginx apt: name: nginx state: presenthandlers/: mape, kas satur notikumu apstrādātājus. Galvenais fails —main.yml. Apstrādātāji tiek izpildīti tikai tad, ja uzdevumos ir notikušas izmaiņas, kas tos "paziņo".// handlers/main.yml - name: Restartēt nginx service: name: nginx state: restarteddefaults/: mape, kas satur noklusējuma mainīgo vērtības lomai. Galvenais fails —main.yml. Šiem mainīgajiem ir zemākais prioritātes līmenis.// defaults/main.yml nginx_port: 80vars/: mape, kas satur lomai specifiskus mainīgos. Galvenais fails —main.yml. Šiem mainīgajiem ir augstāks prioritātes līmenis nekādefaults/.// vars/main.yml nginx_user: www-datafiles/: mape, kas satur failus, kas tiks nokopēti uz mērķa mašīnām bez izmaiņām.// tasks/main.yml - name: Nokopēt statisku failu copy: src: my_static_file.conf dest: /etc/nginx/conf.d/my_static_file.conftemplates/: mape, kas satur šablonu failus (parasti Jinja2 formātā), kas tiks nokopēti uz mērķa mašīnām pēc apstrādes (mainīgo aizvietošanas).// templates/nginx.conf.j2 server { listen {{ nginx_port }}; ... }// tasks/main.yml - name: Konfigurēt nginx template: src: nginx.conf.j2 dest: /etc/nginx/nginx.conf notify: Restartēt nginxmeta/: mape, kas satur metadatus par lomu, piemēram, atkarības:// meta/main.yml dependencies: - role: another_role variable: valuelibrary/: (Neobligāti) mape, kas paredzēta lietotāja moduļiem:module_utils/: (Neobligāti) mape, kas satur lietotāja utilītprogrammas, kas tiek izmantotas moduļos:lookup_plugins/,filter_plugins/un citi: (Neobligāti) mape, kas satur lietotāja spraudņus dažādu tipu.
Tipiska lomas struktūra izskatās šādi:
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
Šie komponenti ļauj organizēt automatizāciju instalēšanai, konfigurēšanai un pakalpojumu pārvaldībai strukturētā un atkārtoti izmantojamā veidā.