Configuration Managements: LPIC 701 Flashcards
Ansible Specs:
Script Language:
Infrastructure:
Requires specialized software for nodes:
Provides a centralised point of control?:
Script Terminology:
Task Execution Order:
Script Language: YAML
Infraestructure: Controller machine applies configuration on nodes via SSH
Requires specialized software for nodes: NO
Provides a centralised point of control: No, Any computer can be a controller
Script Terminology: Playbook / Roles
Task Execution Order: Sequential
Puppet Specs:
Script Language:
Infrastructure:
Requires specialized software for nodes:
Provides a centralised point of control?: via Puppet Master
Script Terminology:
Task Execution Order:
Script Language: Custom DSL based on Ruby
Infrastructure: Puppèt Master synchronizes configuration on Puppet Nodes
Requires specialized software for nodes: Yes
Provides a centralised point of control?: Yes, via Puppet Master
Script Terminology: Manifests / Modules
Task Execution Order: Non-Sequential
** Chef Specs **
Script Language:
Infrastructure:
Requires specialized software for nodes: Yes
Provides a centralised point of control?:
Script Terminology:
Task Execution Order:
Script Language: Ruby
Infrastructure: Chef Workstations push configuration to Chef Server, from which the Chef Nodes will be updated
Requires specialized software for nodes: Yes
Provides a centralised point of control?: yes, via Chef Server
Script Terminology: Recipes / Cookbooks
Task Execution Order: Sequential
** Puppet Commands **
puppet apply: puppet agent: puppet agent -t --noop puppet cert: puppet module: puppet resource: puppet parser:
puppet apply: manage the tystem without need to contact with the master.
puppet agent: Manage the system with the help of the Master
puppet agent -t –noop : puppet agent dry run
puppet cert: help to manage puppet build-in certificate authority (CA)
puppet module: multipourpose tool to work with modules
puppet resource: inspect and manage system resources
puppet parser: validate a puppet file.
Chef testing tools
Chef testing tools: • Cookstyle • Foodcritic • ChefSpec • InSpec • Test Kitchen
Cookstyle: check good practices and style
Cookstyle: cleaning tool based on Ruby tool RuboCop.
Foodcritic: check common troubles in cookbooks: stile, sytax, best practices, obsolescence, common errors.
chefspec: simulates the merg of nodo resources
Inspect: framework to test an audit infraestructure and aplications.
Test kitchen: test kit to execute infraestrcuture as code in isolated platforms.
chef-client
Es un agente que corre en nodos gestionados por Chef
El agente lleva el nodo al estado esperado:
Registro y autenticación del nodo con el servido de Cheff
construye el objeto nodo
sincroniza cookbooks
Realiza las acciones apropiadas requeridas para configurar el nodo
Búsqueda de excepciones y notificaciones
chef-server-ctl
Iniciar y parar servicios individuales
Reconfigurar el servidor Chef
Agrupa los archivos de registro del servidor
Backup y restauración de los datos del cheff-server
chef commands:
Forzar la recuperación de un backup chef-server-ctl cleanse : show logs Check HA in servers Dry run with results: reiniciar servicio Listar servicios iniciar servicio ver estado de servicio parar servicio:
chef-server-ctl backup-recover : fuerza a recuperarse
chef-server-ctl cleanse :
chef-server-ctl gather-logs
chef-server-ctl ha-status comprueba si los servidores están en HA
chef-server-ctl show-config muestra la configuración resultante nates de implentarla
chef-server-ctl restart
chef-server-ctl service-list lista servicios disponibles en el servidor
chef-server-ctl start
chef-server-ctl status
chef-server-ctl stop
chef-solo
Comando que ejecuta el cliente para converger cookbooks sin necesitar el servidor
usa el cliente de chef en modo local
Soporta 2 localizaciones desde donde se pueden lanzar los cookbooks:
Directorio local
url donde el tar.gz está localizado.
chef cookbooks
Es la unidad fundamental de configuración y distribución de políticas. define un escenario y contiene todo lo requerido para dar soporte a ese escenario:
recetas que especifican los recursos a usar y el orden en el que son aplicadas.
valores de tributo
distribución de archivos
plantillas
extensiones de chef y librerias customizadas
Knife cookbook:
se usa para trabajar contra el servidor. knife cookbook generate (options): genera el cookbook knife cookbook delete (options): knife cookbook download (options): knife cookbook list (options): lista los bookbooks disponibles knife cookbook metadata(options): knife cookbook show knife cookbook upload (options): chef + vagrant
Ansible Commands:
- lanzar comandos adhoc
- ver configuración de ansible y gestionarla
- REPL console para ejecutar tareas Ansible:
- plugins para consultar la documentación:
- : gestionar roles en repositorios compartidos. http://galaxy.ansible.com por defecto
- para ver o exportar el inventario como se ve
- para ejecutar playbooks en host seleccionados
- descarga playbooks a un repositorio y los ejecuta desde le host local
- utilidad de cifrado y descifrado para archivos de ansible:
ansible: define y ejecuta una tarea suelta contra un grupo de hosts
ansible opciones
ansible-config: ver editar y gestionar configuración de ansible
ansible-config [view|dump|list|] [–help] [options] [ansible.cfg]
ansible-console: REPL console para ejecutar tareas Ansible:
ansible-console opciones
ansible-doc: plugins para consultar la documentación:
ansible-doc [-l|-F|-s] [opciones] [-t tipo-pluing ] [plugin]
ansible-galaxy: gestionar roles en repositorios compartidos. http://galaxy.ansible.com por defecto
ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [–help] [options]
ansible-inventory: para ver o exportar el inventario como se ve
ansible-inventory [options][host|group]
ansible-playbook: para ejecutar playbooks en host seleccionados
ansible-playbook [opciones] playbook.yml [playbook2…]
ansible-pull: descarga playbooks a un repositorio y los ejecuta desde le host local
ansible-pull -U [opciones] [playbook.yml]
ansible-vault: utilidad de cifrado y descifrado para
archivos de ansible:
ansible-vault [create|derypt|edit|encrypt|encripty_string|rekey|view] [options] [vault_file.yml]
** Ansible Vault **
What dates can you cipher?
ansible-vault CLI se usa para editar archivos
en ansible-playbook:
–ask-vault-pass: pide password
–vault-passowrd-file: le indicamos le archivo con la clave
crea el archivo encriptado
edita archivo encriptado
cambia clave
encripta ficheros
desencripta ficheros
ver contenidos
crea variables cifradas empotradas en el yaml
permite guardar passwords, keys o archivos cifrados con seguridad
puede distribuirlas o almacenarlas en un control de flujo
Permite cifrar cualquier estructura de datos de Ansible:
group_vars
host_vars
inventory variables
variables cargadas por include_vars o vars_files
-e/@file.yml o -e/@file.json cuando usamos playbooks
ansible-vault create foo.yml : crea el archivo encriptado
ansible-vault edit foo.yml : edita archivo
ansible-vault rekey foo.yml bar.yml baz.yml cambia clave
ansible-vault encrypt foo.yml bar.yml baz.yml encripta ficheros
ansible-vault decrypt foo.yml bar.yml baz.yml desencripta ficheros
ansible-vault view foo.yml bar.yml baz.yml ver contenidos
ansible-vault encript_string –vault-id a_password_file “foobar” –name “el_secreto” : crea variables cifradas empotradas en el yaml con este aspecto: