Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
info:cursos:openwebinars:intro-cloud-computing:iaac [26/06/2018 09:00] – [X] mateinfo:cursos:openwebinars:intro-cloud-computing:iaac [14/09/2018 02:41] (actual) – [Sistema de Control de Versiones] mate
Línia 52: Línia 52:
   * Testeadores (Q&A)   * Testeadores (Q&A)
   * Operadores   * Operadores
-{{ :info:cursos:openwebinars:intro-cloud-computing:pasted:20180625-153029.png }} +{{ :info:cursos:openwebinars:intro-cloud-computing:pasted:20180625-153029.png?500 }} 
-{{ :info:cursos:openwebinars:intro-cloud-computing:pasted:20180625-153047.png }}+{{ :info:cursos:openwebinars:intro-cloud-computing:pasted:20180625-153047.png?500 }}
  
 ==== Entrega y despliegue continuo ==== ==== Entrega y despliegue continuo ====
Línia 211: Línia 211:
 Adoptar las buenas prácticas de los desarrolladores para sistemas Adoptar las buenas prácticas de los desarrolladores para sistemas
  
-<image shape="thumbnail">{{ :info:cursos:openwebinars:intro-cloud-computing:pasted:20180626-080928.png }}</image>+<image shape="thumbnail">{{ :info:cursos:openwebinars:intro-cloud-computing:pasted:20180626-080928.png?450 }}</image>
  
 ==== Sistemas de control de versiones ==== ==== Sistemas de control de versiones ====
Línia 317: Línia 317:
  
 <collapse id="vagrant" collapsed="true"> <collapse id="vagrant" collapsed="true">
 +
 +  * fichero de plantilla en formato Ruby
 +    * ''vagrant init'' -> crea fichero "base"
 +  * ''vagrant up'' -> crear escenario
 +  * ''vagrant box list''
 +    * descargables desde Hasicorp (Atlas imagenes de Vagrant)
 +  * ''vagrant ssh''
 +    * las versiones más viejas de imágenes de vagrant llevan incorporada una par de claves para acceder por SSH sin contraseñas
 +    * las nuevas tienen una para cada máquina
  
 </collapse> </collapse>
 +
 +===== Ejemplo de Terraform =====
 +<button collapse="terraform" size="xs">ocultar/mostrar</button>
 +
 +<collapse id="terraform" collapsed="true">
 +
 +  * terraform no está aún en distribución de paquetes (descarga directa)
 +  * ''terraform --version''
 +  * ficheros .tf en formato HLS
 +  * ''terraform plan''
 +  * EC2 Dashboard > instances
 +  * ''terraform apply''
 +  * ''terraform show''
 +  * herramienta de gestión de la configuración del despliegue:
 +    * ansible
 +    * puppet
 +    * chef
 +
 +</collapse>
 +
 +===== Sistema de la gestión de la configuración =====
 +<button collapse="gestion-configuracion" size="xs">ocultar/mostrar</button>
 +
 +<collapse id="gestion-configuracion" collapsed="true">
 +
 +==== Aprovisionamiento de recursos ====
 +  * Configuration Management Software
 +  * Base de la Infraestructura como código
 +  * puede realizar aprovisionamiento, pero se especializa en la configuración
 +
 +==== Aplicaciones más usadas ====
 +  * CFEngine
 +  * Puppet (manifiestos - Manifests)
 +    * agentes (aunque es posible trabajar de otra manera)
 +    * gestión desde un nodo central. Comunicación bidereccional
 +  * Chef (recetas - Recipes)
 +    * agentes (aunque es posible trabajar de otra manera)
 +    * gestión desde un nodo central. Comunicación bidereccional
 +  * Ansible (Libros de jugadas - Playbooks)
 +    * RedHat
 +    * sin agentes, conexiones SSH
 +    * sintaxis plantillas más sencilla
 +  * Salt (estatos - States)
 +    * sin agentes, sin SSH... cola de mensajes
 +    * sintaxis plantillas más sencilla
 +  * Juju (Encantamientos - Charms)
 +    * Canonical
 +    * utilizado campo específico (Ubuntu), no de uso general
 +
 +</collapse>
 +
 +===== Ejemplo Ansible =====
 +<button collapse="ejemplo-ansible" size="xs">ocultar/mostrar</button>
 +
 +<collapse id="ejemplo-ansible" collapsed="true">
 +
 +<code bash>
 +ssh-add private.key
 +# añade la clave privada para no tener que mencionarla explicitamente
 +</code>
 +
 +¿concepto entorno virtual?
 +
 +ansible.cfg:
 +  * indicamos el fichero con las direcciones de los servidores que queremos gestionar con Ansible (ansible_hosts)
 +  * clave privada (si corresponde)
 +
 +ansible_hosts:
 +  * secciones con datos de servidor:
 +<sxh>
 +[back-end-servers]
 +database ansible_host=10.0.0.1 ansible_port=22 ansible_user=postgres
 +webserver ansible_host=10.0.0.2 ansible_port=22 ansible_user=root
 +
 +[infrastructure]
 +ldap ansible_host=10.0.0.100 ansible_port=22 ansible_user=root
 +</sxh>
 +
 +Modo de funcionamiento de Ansible:
 +  * linea de comando (simple)
 +    * ''ansible all -m ping'' : usa el módulo ping para ver si todos los servidores están ON
 +    * ''ansible all -m apt -a update_cache=yes --sudo (o -s)'' : ejecuta los procesos solicitados
 +    * respuestas
 +      * verdes : OK
 +      * amarillas: cambios en la máquina (no necesariamente malo)
 +      * rojas: errores
 +  * Playbooks (recetas)
 +    * idempotencia: propiedad matemática que al aplicar una función sobre un objeto para que siempre le de lo mismo
 +    * le digo a que estado quiero llegar (quiero tener instalado apache) y Ansible realiza los pasos necesarios (si está instalado, responderá en verde que ya está, en amarillo si lo ha instalado, en rojo si no ha podido)
 +    * formato YUML
 +    * <code bash>ansible-playbook <fichero_playbook.yml> -s
 +# -s de sudo</code>
 +
 +</collapse>
 +
  • info/cursos/openwebinars/intro-cloud-computing/iaac.1530028806.txt.gz
  • Darrera modificació: 26/06/2018 09:00
  • per mate