Flashcards: 353.1 - Herramientas De Gestion Cloud

36 tarjetas de repaso. Usa el sistema de repeticion espaciada para memorizar.

P: ¿Qué comando de Terraform muestra una vista previa de los cambios que se aplicarán sin ejecutarlos?

R: c) terraform plan. terraform plan muestra los cambios que Terraform realizará en la infraestructura sin aplicarlos realmente. Muestra recursos que se crearán (+), modificarán (~) o destruirán (-). Es una buena práctica revisarlo siempre antes de terraform apply.


P: ¿Qué es el archivo terraform.tfstate?

R: b) El mapa entre la configuración de Terraform y los recursos reales de infraestructura. El archivo de estado (terraform.tfstate) contiene el mapeo entre los recursos definidos en la configuración HCL y los recursos reales creados en la infraestructura. Es crítico para que Terraform sepa qué existe y qué debe cambiar. Puede contener datos sensibles y debe almacenarse de forma segura.


P: ¿Cuál es la característica principal que distingue a Ansible de otras herramientas de gestión de configuración como Puppet o Chef?

R: b) Ansible es agentless (sin agente), se conecta por SSH. Ansible no requiere instalar agentes en los hosts gestionados. Se conecta por SSH (o WinRM para Windows) y solo necesita Python instalado en los hosts remotos. Puppet y Chef requieren agentes instalados en cada nodo.


P: ¿Qué concepto de Terraform representa un plugin que interactúa con la API de un servicio cloud?

R: c) Provider. Un provider es un plugin que permite a Terraform interactuar con la API de un servicio específico (AWS, Azure, GCP, libvirt, etc.). Se configura con credenciales y región, y proporciona los tipos de recursos disponibles para ese servicio.


P: ¿Qué comando de Ansible ejecuta un playbook en modo de verificación sin aplicar cambios?

R: b) ansible-playbook site.yml --check. La opción --check (o -C) ejecuta el playbook en modo “dry-run”, verificando qué cambios se realizarían sin aplicarlos realmente. Se puede combinar con --diff para ver las diferencias exactas que se producirían.


P: ¿Qué es IaC (Infraestructura como Código)?

R: b) La práctica de gestionar infraestructura mediante archivos de configuración versionables y reproducibles. IaC permite definir la infraestructura en archivos de texto que pueden versionarse con Git, revisarse, reutilizarse y automatizarse. Esto elimina la configuración manual, mejora la reproducibilidad y proporciona documentación viva de la infraestructura.


P: ¿Qué comando de Terraform inicializa un directorio de trabajo descargando los providers necesarios?

R: b) terraform init. terraform init es el primer comando a ejecutar en un directorio de Terraform. Descarga los providers definidos, inicializa el backend de estado y descarga los módulos referenciados. Debe ejecutarse siempre que se cambie la configuración de providers o módulos.


P: ¿Cuál es el patrón general de los comandos de OpenStack CLI?

R: b) openstack <recurso> <acción>. Los comandos de OpenStack CLI siguen el patrón openstack <recurso> <acción>, como openstack server list, openstack network create, openstack image show, etc. Es un cliente unificado que reemplazó los clientes individuales (nova, neutron, etc.).


P: ¿Qué componente de Ansible define la lista de hosts a gestionar?

R: c) Inventory. El inventario (inventory) define los hosts y grupos de hosts que Ansible puede gestionar. Puede ser un archivo INI/YAML estático o generarse dinámicamente (inventario dinámico). El inventario por defecto está en /etc/ansible/hosts.


P: ¿Qué diferencia fundamental hay entre Terraform y Ansible en su uso típico?

R: b) Terraform provisiona infraestructura (crear VMs, redes, etc.); Ansible configura los sistemas ya creados. Terraform es principalmente para provisionar infraestructura (crear y gestionar recursos cloud como VMs, redes, balanceadores). Ansible es principalmente para configurar sistemas (instalar paquetes, copiar archivos, gestionar servicios). Son complementarias: Terraform crea la infraestructura y Ansible la configura.


P: ¿Qué comando de Terraform importa un recurso de infraestructura existente al archivo de estado?

R: b) terraform import. terraform import aws_instance.web i-1234567890abcdef0 importa un recurso existente en la infraestructura al estado de Terraform. Es necesario definir primero el bloque resource en la configuración HCL. Terraform entonces asocia el recurso real con la configuración declarada.


P: ¿Qué componente de Ansible se ejecuta cuando es notificado por un cambio en una tarea?

R: c) Handler. Un handler es una tarea especial que solo se ejecuta cuando es notificada por otra tarea mediante la directiva notify. Se ejecuta una sola vez al final del play, aunque sea notificado múltiples veces. Es comúnmente usado para reiniciar servicios tras cambios de configuración.


P: ¿Qué comando de Terraform elimina un recurso del archivo de estado sin destruirlo en la infraestructura real?

R: b) terraform state rm. terraform state rm aws_instance.web elimina un recurso del archivo de estado sin afectar al recurso real en la infraestructura. Después de esto, Terraform ya no gestiona ese recurso. Es útil cuando se quiere dejar de gestionar un recurso con Terraform sin destruirlo.


P: ¿Qué lenguaje utiliza Terraform para definir la infraestructura?

R: c) HCL (HashiCorp Configuration Language). Terraform utiliza HCL (HashiCorp Configuration Language) como lenguaje declarativo para definir infraestructura. HCL es legible, soporta variables, módulos y funciones. Aunque Terraform también acepta JSON como formato alternativo, HCL es el formato recomendado y más utilizado.


P: ¿Qué concepto de Terraform permite reutilizar conjuntos de recursos como bloques de construcción?

R: b) Module. Los módulos de Terraform son contenedores reutilizables de recursos que pueden compartirse y versionarse. Pueden ser módulos locales (subdirectorios) o remotos (Terraform Registry, Git). Se invocan con el bloque module { source = "..." } y aceptan variables de entrada.


P: ¿Qué directiva de un playbook de Ansible permite ejecutar tareas con privilegios de root?

R: b) become: yes. become: yes en un playbook de Ansible habilita la escalación de privilegios (por defecto usando sudo). Reemplazó a la antigua directiva sudo: yes. Se puede personalizar con become_method (sudo, su, doas) y become_user (usuario al que escalar).


P: ¿Qué herramienta de IaC de AWS permite definir infraestructura con templates declarativos nativos?

R: c) CloudFormation. AWS CloudFormation es el servicio nativo de IaC de Amazon Web Services. Permite definir infraestructura AWS en templates declarativos (YAML o JSON). Los recursos se agrupan en “stacks” que se crean, actualizan y eliminan como una unidad.


P: ¿Qué ventaja tiene Pulumi sobre Terraform en cuanto a la definición de infraestructura?

R: b) Permite definir infraestructura usando lenguajes de programación reales como Python, TypeScript o Go. Pulumi permite usar lenguajes de programación completos (Python, TypeScript, Go, C#, Java) en lugar de un DSL específico como HCL. Esto permite usar lógica condicional, bucles, funciones y todo el ecosistema del lenguaje elegido para definir la infraestructura.


P: ¿Qué comando de Ansible ejecuta un módulo ad-hoc en todos los hosts del inventario?

R: b) ansible all -m ping. ansible all -m ping ejecuta el módulo ping en todos los hosts del inventario de forma ad-hoc (sin playbook). all se refiere a todos los hosts, -m especifica el módulo. Los comandos ad-hoc son útiles para tareas rápidas sin necesidad de crear un playbook completo.


P: ¿Qué comando de Terraform formatea los archivos de configuración HCL para que sigan el estilo canónico?

R: b) terraform fmt. terraform fmt reformatea los archivos HCL para que sigan el estilo canónico de HashiCorp (indentación consistente, alineación de =, etc.). Es similar a gofmt para Go. Se recomienda ejecutarlo antes de commits para mantener un estilo consistente en el equipo.


P: Escribe el comando de Terraform para destruir toda la infraestructura gestionada.

R: terraform destroy. terraform destroy planifica y ejecuta la destrucción de todos los recursos gestionados en el archivo de estado. Solicita confirmación antes de proceder. Se puede añadir -auto-approve para omitir la confirmación interactiva. También se puede destruir un recurso específico con -target.


P: Escribe el comando de Terraform para listar todos los recursos gestionados en el archivo de estado.

R: terraform state list. terraform state list muestra todos los recursos que Terraform está gestionando actualmente, listando sus direcciones (como aws_instance.web, aws_vpc.main). Es útil para verificar qué recursos están bajo control de Terraform y para operaciones de mantenimiento del estado.


P: Escribe el comando de Ansible para ejecutar el playbook site.yml usando el archivo de inventario inventario.ini.

R: ansible-playbook -i inventario.ini site.yml. ansible-playbook ejecuta un playbook de Ansible. -i especifica el archivo de inventario con los hosts a gestionar. Si no se especifica -i, Ansible usa el inventario por defecto definido en /etc/ansible/hosts o en el archivo de configuración ansible.cfg.


P: Escribe el comando de OpenStack CLI para crear un servidor llamado mi-servidor con flavor m1.small e imagen ubuntu-22.04.

R: openstack server create —flavor m1.small —image ubuntu-22.04 mi-servidor. openstack server create crea una nueva instancia (servidor virtual) en OpenStack. --flavor define el tipo de instancia (CPU, RAM, disco), --image la imagen del SO a usar. Se pueden añadir opciones como --network, --key-name y --security-group.


P: Escribe el comando de Terraform para validar que la configuración HCL es sintácticamente correcta.

R: terraform validate. terraform validate verifica que la configuración es sintácticamente válida y coherente internamente (referencias correctas, tipos de datos válidos, etc.). Requiere que terraform init se haya ejecutado previamente. No accede a la API del proveedor ni al estado remoto.


P: Tip de examen: El archivo de estado (terraform.tfstate) es crítico. Contiene el mapeo entre c…

R: El archivo de estado (terraform.tfstate) es crítico. Contiene el mapeo entre configuración y recursos reales. Nunca debe editarse manualmente y debe almacenarse de forma segura (puede contener datos sensibles).


P: Tip de examen: Ansible es agentless (sin agente). Solo necesita SSH y Python en los hosts remot…

R: Ansible es agentless (sin agente). Solo necesita SSH y Python en los hosts remotos. Terraform gestiona infraestructura; Ansible configura los sistemas ya creados. Son complementarias.


P: Tip de examen: OpenStack es relevante para entornos de cloud privado. Los comandos siguen el pa…

R: OpenStack es relevante para entornos de cloud privado. Los comandos siguen el patrón openstack <recurso> <acción>.


P: Que es/son Introducción?

R: Las herramientas de gestión cloud permiten automatizar la creación, configuración y gestión de infraestructura de forma reproducible y versionable. Este concepto se conoce como Infraestructura como Cód


P: Que es/son Infraestructura como Código (IaC)?

R: IaC es la práctica de gestionar infraestructura mediante archivos de configuración declarativos o imperativos, en lugar de procesos manuales.


P: Que es/son Terraform?

R: Terraform es la herramienta de IaC más extendida. Permite gestionar infraestructura en múltiples proveedores cloud con un lenguaje declarativo unificado (HCL).


P: Que es/son Ansible?

R: Ansible es una herramienta de automatización y gestión de configuración sin agentes que usa SSH para conectarse a los hosts.


P: Que es/son CloudFormation?

R: AWS CloudFormation es el servicio nativo de IaC de Amazon Web Services:


P: Que es/son Pulumi?

R: Pulumi permite definir infraestructura usando lenguajes de programación reales (Python, TypeScript, Go, etc.):


P: Que es/son OpenStack CLI?

R: OpenStack es una plataforma de cloud privado. Su CLI permite gestionar recursos de computación, red y almacenamiento:


P: Que es/son Trampas del examen?

R: > Errores comunes y distinciones criticas que LPI suele evaluar en este subtema: