Sobes.tech
Junior

Jaké máte zkušenosti s Ansible?

sobes.tech AI

Odpověď od AI

Více než tři roky aktivního používání Ansible pro automatizaci nasazení, správu konfigurací a orchestraci aplikací a infrastruktury.

Hlavní oblasti použití:

  • Správa konfigurací: Udržování jednotného stavu serverů a služeb.
  • Nasazení aplikací: Automatizace procesu sestavení, doručení a instalace aplikací.
  • Orchestrace: Řízení sekvence provádění úkolů na více serverech.
  • Automatizace administrativních úkolů: Zálohy, aktualizace, monitoring.

Pracoval jsem s různými moduly Ansible, včetně:

  • apt, yum, dnf: Správa balíčků.
  • service: Správa služeb.
  • copy, template: Správa souborů.
  • command, shell: Spouštění příkazů.
  • uri: Interakce s API.
  • Moduly pro práci s Docker, Kubernetes, cloudovými poskytovateli (AWS, GCP).

Používám Ansible Vault pro správu tajemství.

Zkušenosti s psaním a laděním playbooků různé složitosti, včetně použití rolí, include/import, handlers, vars, facts, loops, podmínek.

Použil jsem Ansible pro:

  • Nastavení a konfiguraci webových serverů (Nginx, Apache).
  • Deployment mikroservisů a monolitů.
  • Správu databází (PostgreSQL, MySQL).
  • Konfiguraci monitoringu a logování.

Příklad jednoduché role Ansible:

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

- name: Kopírování souborů aplikace
  copy:
    src: files/app/
    dest: /opt/my_webapp/

- name: Instalace Python balíčků
  pip:
    requirements: /opt/my_webapp/requirements.txt

- name: Konfigurace systemd služby
  template:
    src: templates/my_webapp.service.j2
    dest: /etc/systemd/system/my_webapp.service
  notify: restartovat my_webapp službu

# roles/my_webapp/handlers/main.yml
- name: restartovat my_webapp službu
  systemd:
    name: my_webapp
    state: restarted