Junior
Milyen komponensekből és fájlokból áll egy szerep a DevOps-ban?
sobes.tech MI
Válasz az MI-től
A DevOps-ban szerepet, amely leggyakrabban az Ansible segítségével valósul meg, a következő fő összetevőkből és fájlokból áll:
tasks/: Kötet, amely tartalmazza a szerep által végrehajtott feladatokat. A fő fájl amain.yml.// tasks/main.yml - name: nginx telepítése apt: name: nginx state: presenthandlers/: Kötet, amely eseménykezelőket tartalmaz. A fő fájl amain.yml. A kezelők csak akkor futnak le, ha a hozzájuk tartozó feladatok állapota változik.// handlers/main.yml - name: nginx újraindítása service: name: nginx state: restarteddefaults/: Kötet, amely a szerep alapértelmezett változóértékeit tartalmazza. A fő fájl amain.yml. Ezek a változók a legalacsonyabb prioritással rendelkeznek.// defaults/main.yml nginx_port: 80vars/: Kötet, amely a szerephez tartozó specifikus változókat tartalmazza. A fő fájl amain.yml. Ezek a változók magasabb prioritással rendelkeznek, mint adefaults/-ben lévők.// vars/main.yml nginx_user: www-datafiles/: Kötet, amely fájlokat tartalmaz, amelyeket változtatás nélkül másolnak a célgépekre.// tasks/main.yml - name: Statikus fájl másolása copy: src: my_static_file.conf dest: /etc/nginx/conf.d/my_static_file.conftemplates/: Kötet, amely sablonfájlokat (általában Jinja2 formátumban) tartalmaz, amelyeket feldolgozás után (változók helyettesítése) másolnak a célgépekre.// templates/nginx.conf.j2 server { listen {{ nginx_port }}; ... }// tasks/main.yml - name: nginx konfigurálása template: src: nginx.conf.j2 dest: /etc/nginx/nginx.conf notify: nginx újraindításameta/: Kötet, amely a szerep metaadatait tartalmazza, például függőségeket. A fő fájl amain.yml.// meta/main.yml dependencies: - role: another_role variable: valuelibrary/: (Opcionális) Kötet, amely saját Ansible modulokat tartalmaz.module_utils/: (Opcionális) Kötet, amely saját segédprogramokat tartalmaz, amelyeket modulokban használnak.lookup_plugins/,filter_plugins/, stb.: (Opcionális) Kötetek, amelyek saját pluginokat tartalmaznak különböző típusokhoz.
A tipikus szerep szerkezete így néz ki:
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
Ezek az összetevők lehetővé teszik az automatizálás szervezését a telepítés, konfigurálás és szolgáltatáskezelés terén strukturált és újrahasznosítható módon.