Sobes.tech
Junior

Aké máte skúsenosti s Ansible?

sobes.tech AI

Odpoveď od AI

Viac ako tri roky aktívneho používania Ansible na automatizáciu nasadenia, správy konfigurácií a orchestrácie aplikácií a infraštruktúry.

Hlavné oblasti použitia:

  • Správa konfigurácií: Udržiavanie jednotného stavu serverov a služieb.
  • Nasadenie aplikácií: Automatizácia procesu build, doručenia a inštalácie aplikácií.
  • Orchestration: Riadenie sekvencie vykonávania úloh na viacerých serveroch.
  • Automatizácia administratívnych úloh: Zálohy, aktualizácie, monitoring.

Pracoval som s rôznymi modulmi Ansible, vrátane:

  • apt, yum, dnf: Správa balíkov.
  • service: Správa služieb.
  • copy, template: Správa súborov.
  • command, shell: Spúšťanie príkazov.
  • uri: Interakcia s API.
  • Moduly na prácu s Docker, Kubernetes, cloudovými poskytovateľmi (AWS, GCP).

Používam Ansible Vault na správu tajomstiev.

Skúsenosti s písaním a ladením playbookov rôznej zložitosti, vrátane použitia rolí, include/import, handlers, vars, facts, loops, podmienok.

Použil som Ansible na:

  • Nastavenie a konfiguráciu webových serverov (Nginx, Apache).
  • Deployment mikroservisov a monolitov.
  • Správu databáz (PostgreSQL, MySQL).
  • Konfiguráciu monitorovania a logovania.

Príklad jednoduchého rolu Ansible:

# roles/my_webapp/tasks/main.yml
- name: Inštalácia závislostí
  apt:
    name: "{{ item }}"
    state: present
  loop:
    - python3
    - python3-pip

- name: Kopírovanie súborov aplikácie
  copy:
    src: files/app/
    dest: /opt/my_webapp/

- name: Inštalácia Python balíkov
  pip:
    requirements: /opt/my_webapp/requirements.txt

- name: Konfigurácia systemd služby
  template:
    src: templates/my_webapp.service.j2
    dest: /etc/systemd/system/my_webapp.service
  notify: reštartovať my_webapp službu

# roles/my_webapp/handlers/main.yml
- name: reštartovať my_webapp službu
  systemd:
    name: my_webapp
    state: restarted