0Pricing
Ansible Academy · Lección

Estado deseado, no scripts paso a paso

Por qué lo declarativo supera a lo imperativo.

Estado deseado, no scripts paso a paso es una lección gratuita de Ansible Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ansible Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ansible Academy incluye 4 lecciones en total.

Describa el resultado, no los pasos

Ansible es declarativo: describe el estado final que desea y Ansible determina los pasos necesarios para alcanzarlo desde el estado actual del host.

El enfoque imperativo

Un script imperativo enumera comandos exactos en un orden determinado. Supone cuál es el estado inicial, por lo que falla si el host ya está configurado parcialmente.

apt-get update
apt-get install -y nginx
systemctl start nginx

El enfoque declarativo

Una tarea declarativa simplemente expresa el objetivo: nginx debe estar instalado y en ejecución. Ansible comprueba el estado real y actúa solo cuando es necesario.

ansible.builtin.package:
  name: nginx
  state: present

state expresa el objetivo

La clave state es donde declara la intención. present, started o absent expresan un estado final deseado, no una acción que ejecutar.

ansible.builtin.service:
  name: nginx
  state: started

Ansible compara primero

Antes de cambiar algo, un módulo compara el estado actual con el que declaró. Si ya coinciden, no hace absolutamente nada.

Esto es la convergencia

Cada ejecución acerca el host al estado declarado. Esto es la convergencia: independientemente del punto de partida, el host termina en el mismo estado.

El orden importa menos

Como las tareas declaran objetivos, volver a ejecutar un play incompleto simplemente termina lo que falta. No tiene que seguir qué paso falló la última vez.

Es seguro volver a ejecutar

Las tareas declarativas se pueden volver a ejecutar de forma segura. Los hosts que ya están correctos no se modifican, que es la base de la idempotencia.

Menos que recordar

Deja de escribir manualmente comprobaciones de «si está instalado, omitir». El módulo se encarga de esa lógica, por lo que su playbook se mantiene breve y legible.

Un playbook es la fuente de verdad

Un playbook declarativo se lee como la documentación del servidor deseado: qué paquetes, servicios y archivos deberían existir en él.

- name: Web server desired state
  hosts: web
  tasks:
    - ansible.builtin.package:
        name: nginx
        state: present

Algunas tareas siguen siendo imperativas

Las tareas sin procesar de command y shell son imperativas: se ejecutan cada vez. Prefiera módulos basados en el estado para que Ansible pueda mantener un enfoque declarativo.

Comprobación rápida

Escribe una tarea que indica que nginx debe estar presente y luego ejecuta el playbook en un host que ya tiene nginx.

Resumen

Declara un estado deseado y Ansible acerca el host a él, actuando solo cuando la realidad es diferente. Esa seguridad es la idempotencia. 🎯

Preguntas frecuentes

¿La lección «Estado deseado, no scripts paso a paso» es gratis?

Sí — el texto completo de «Estado deseado, no scripts paso a paso» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ansible Academy, actualiza a CoddyKit PRO. El curso de Ansible Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Estado deseado, no scripts paso a paso»?

Por qué lo declarativo supera a lo imperativo. Practicas Ansible Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Ansible Academy?

No se requiere experiencia previa. Ansible Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Estado deseado, no scripts paso a paso»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Ansible Academy?

Sí. Cada lección de Ansible Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Estado deseado, no scripts paso a paso
  2. Leer changed frente a ok en la salida
  3. Por qué command rompe la idempotencia
  4. Modo de comprobación: ejecución en seco con --check
← Volver a Ansible Academy