Sobes.tech
Middle+

Jaké máte zkušenosti s handlery a šablonami pro role v DevOps?

sobes.tech AI

Odpověď od AI

Pracoval jsem s handlery (handlers) a šablonami (templates) v rámci systémů správy konfigurace a orchestrace.

V Ansible aktivně používám handlery k provádění akcí závislých na změnách v úkolech. Například restart služby po aktualizaci konfiguračního souboru.

- název: Aktualizace konfiguračního souboru
  ansible.builtin.template:
    src: templates/myapp.conf.j2
    dest: /etc/myapp/myapp.conf
  notify:
    - Restartovat službu myapp

- název: Restartovat službu myapp
  ansible.builtin.service:
    název: myapp
    stav: restartován
  listen:
    - "Restartovat službu myapp"

Používám šablony k generování konfiguračních souborů na základě proměnných. To umožňuje vytvářet dynamické soubory přizpůsobené konkrétnímu prostředí nebo serveru.

# templates/myapp.conf.j2
[General]
ListenPort = {{ listen_port }}
LogLevel = {{ log_level | default('info') }}

V Terraform používám šablony k vytváření dynamických dat, například skriptů user data pro inicializaci VM nebo generování konfiguračních souborů pro služby.

data "template_file" "user_data" {
  template = file("${path.module}/user_data.sh")

  vars = {
    hostname = var.instance_hostname
    ip_address = var.instance_ip
  }
}

Pracuji s Jinja2 a dalšími šablonovacími motory integrovanými do nástrojů DevOps. Zkušenosti zahrnují použití cyklů, podmínek, filtrů a proměnných v šablonách.

Struktura rolí v Ansible často obsahuje adresáře handlers/ a templates/, které organizují odpovídající obsah. To zlepšuje čitelnost a modularitu playbooků.

Typ Nástroje Příklady použití
Handlery Ansible Restartování služeb, opětovné načítání konfigurací
Šablony Ansible, Terraform Generování konfiguračních souborů, inicializační skripty