Administración centralizada con Puppet Lucas Di Pentima LUGLi – Santa Fe.

Slides:



Advertisements
Presentaciones similares
Curso de PHP Tema 1: Introducción.
Advertisements

Carlos Armas Roundtrip Networks Corp.. Instalar y proveer sistemas rápido! Eliminar tareas repetitivas La configuración de los sistemas tiende a la divergencia.
PRESENTA: Mizrain Cano Chico Profesor: Lic. Albino Petlacalco Ruiz
Servidores Web Capítulo 2.
Temas Operaciones básicas Instalando el compilador
Especialista en Business Intelligence Reporting Services SSRS (Sesión 16) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Instalacion de paquetes
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
CERTIFICACION PRODUCTO ENTREGADO
1 Lenguaje y entorno de programación Claudio Quezada 1/21.
Instalación y configuración de servidores. 2 de 9 Servicios Internet (I) “El proyecto Apache es un esfuerzo conjunto para el desarrollo de software orientado.
1 Capítulo 14. IP: Direcciones en Internet Protocol ICD-327: Redes de Computadores Agustín J. González.
AppServ, XAMPP Apache: Servidor Web PHP: Aplicaciones
Roles de Open UP.
Caracteristicas Apache
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Administración de GNU/Linux Curso de Utilización y Administración avanzada de sistemas GNU/Linux y aplicaciones de Software Libre para estudiantes universitarios.
"Si he logrado ver más lejos ha sido porque he subido a hombros de gigantes" Isaac Newton
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
¿Que es un ordenador? Un ordenador es una máquina programable. Las dos características principales de un ordenador son: 1. Responde a un sistema específico.
Jornadas de Software Libre y Open Source Virtualización en entornos GNU/Linux Debian 5 con Xen Allam Chaves – José Carvajal / Centro de Gestión Informática.
Es la denominación del software que respeta la libertad de todos los usuarios que adquieren el producto. Una vez obtenido el mismo puede ser:
Openbiblio Bienvenidos a las jornadas del GUL de la Universidad Carlos III de Madrid.
ADMINISTRACION DE USUARIOS Y SISTEMAS DE ARCHIVOS EN LINUX ● Víctor Leonel Orozco (Lugusac)
Administración de Servidor Web. Contenidos WebServer. Apache. Configuración Básica de Apache. VirtualHosts. Nuestra Configuración. BenchMarking.
Configuración de DNS, DHCP e IIS Conferencia 12. Sumario: Instalación del servicio DNS. Agregar y autorizar un servicio Servidor DHCP Internet Information.
SISTEMAS OPERATIVOS REALIZADO POR: Noelia Hidalgo y Auda López.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
Nombre José Francisco Luna Jurado Matricula Asignatura
Sistemas de Almacenamiento Parte 02
UF0854: Instalación y configuración de los nodos de una red local.
ManageEngine RecoveryManager Plus
Conociendo un Ubuntu: Una distribución diferente a Linux
Taller de Sistemas Operativos I Área Informática y Telecomunicaciones
Desarrollo de herramientas y funcionalidades para potenciar
Linux y el Software Libre
INSTALACION DE PROGRAMAS
SSH: una presentación corta
Legisoffice Versión 1.0..
Sistemas de monitorización
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
Windows server 2008.
Novell Netware Autores: Cerrina Maria Josefina, Coto Marcelo,
Tarea 3: data warehouse y san
Sistemas Operativos : El Alma De La Pc.
KUbuntu Carlos Torres Denis González 7 de septiembre de 2015.
Proceso de resolución de un nombre de dominio
TALLER DE SISTEMAS OPERATIVOS
DOCENTE: EMILIO ISMAEL BUSTAMANTE MONTES
Programación de Sistemas Operativos
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
INDUCCIÓN MEJORAMIENTO CONTINUO. PIRAMIDE DOCUMENTAL Manual de CalidadCaracterizacionesProcedimientosInstructivosFormatos.
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Distribuciones de LINUX Raúl González Martínez.
Soporte al Sistema Operativo
Características Generales y Entornos de Desarrollo
Brinda Soporte Presencial
Revision de los controles generales
Implementación de los Sistemas de Información
Entendiendo PHP En diseño de software en el Front-end es la parte del software que interactúa con los usuarios. Es la persona que se encarga del diseño.
Conceptos relacionados con la interfaz gráfica Taller de diseño página Web.
DHCP - Principios básicos de routing y switching.
MRDE-02 Manejo de Redes Actividad de Evaluación 2.1.1
ADMINISTRACIÓN DE USUARIOS Y GRUPOS Linux es un sistema multiusuario, por lo tanto, la tarea de añadir, modificar, eliminar y en general administrar usuarios.
MySQL By Osman Jimenez Edgar Cortes. Datos Importantes MySQL.
ING. NANCY BASILIO MARCELO ADMINISTRACIÓN REDES DE COMPUTADORAS.
Transcripción de la presentación:

Administración centralizada con Puppet Lucas Di Pentima LUGLi – Santa Fe

Temas a tratar ● Problemática a solucionar ● Conceptos generales de Puppet ● Ejemplos de aplicación ● Temas para seguir estudiando

Problemática: Scripts personalizados ● Distintas versiones de lo mismo. ● Poca portabilidad entre instalaciones.

Problemática: Gestión manual del software ● Esfuerzo directamente proporcional al número de servidores. ● Tareas repetitivas que tienden a provocar errores.

Problemática: Configuraciones ad hoc ● Distintos criterios con el pasar del tiempo. ● Un estilo diferente por cada persona en el equipo. ● Barrera de entrada alta para los nuevos.

Problemática: Restauración “bare metal” de un servidor ● ¿Tenemos backup reciente del sistema operativo? ● Tiempos de recuperación y cortes de servicio excesivamente altos.

Problemática: Restauración “bare metal” de N servidores ● ¡OUCH! ● Llevar backups de sistemas de N servidores es muy tedioso.

Problemática: Documentación ● ¿Qué servicios están activos? ● ¿Donde están instalados esos servicios? ● ¿Que tan actualizada está la documentación?

Problemática: ¡Escalabilidad! ● A mayor cantidad de servidores, mayor es la carga de su mantenimiento. ● ¡Esto no es negocio!

Puppet: Componentes ● Lenguaje declarativo. ● Servidor. ● Cliente. ● Biblioteca de abstracción de recursos.

Puppet: Esquema de funcionamiento

Puppet: Abstracción de recursos ● Independencia de la implementación. – “providers” ● Pensamiento en alto nivel. – “package” – “user”... ● Recursos relacionables entre si. – “subscribe” / “notify” – “require” / “before”

Puppet: Lenguaje declarativo ● Se usa para describir el estado de un servidor. ● Idempotencia: se obtiene el mismo resultado sin importar las veces que se aplique la configuración.

Puppet: Recursos (tipos) ● Usuario (user) ● Archivo (file) ● Paquete de software (package) ● Servicio (service) ● Tarea periódica (cron) ●...

Puppet: Recursos: user ● home ● uid ● gid ● shell ● comment

Puppet: Recursos: file ● checksum ● content ● ensure (absent/present, file/directory) ● user, group ● source ● mode

Puppet: Recursos: package ● ensure (absent, purged, present/installed)

Puppet: Recursos: service ● ensure (running/stopped) ● enable (true/false)

Puppet: Recursos: cron ● command ● user ● hour ● minute ● month ● weekday

Puppet: Clases ● Estructura que engloba recursos individuales ● Utilizable en casos únicos por host (ej: un servicio) ● Soporta jerarquía de herencia class unix { file { “/etc/passwd”: owner => “root”, group => “root”, mode => 644; “/etc/shadow”: owner => “root”, group => “root”, mode => 440; }

Puppet: Definiciones ● Como las clases, pero con argumentos. ● Utilizable en casos parametrizables por host (ej: virtualhosts en apache) define hourlycronjob ($script) { $path = “/opt/bin/$script” file { $path: source => puppet://..$script, user => “root”, group => “root”, mode => 750 } cron { $script: command => $path, minute => 0 } hourlycronjob { “checkpuppet”: script => “chequear-puppet.sh” }

Puppet: Nodos ● Como las clases, pero se aplican a los hosts. ● Se utilizan para asignar clases y definiciones a los clientes. ● Soportan herencia. import “classes/*” node default { include unix } node webserver1 inherits default { include apache } node webserver2 inherits default { include apache }

Puppet: Otras características ● Selectores ● If/then ● Case ● Funciones ● Variables / Arrays ● Facts

Ejemplos: Configurar vim como editor preferido class vim { package { “vim”: ensure => present, } exec { “update-alternatives –set editor /usr/bin/vim.basic”: path => “/bin:/usr/bin”, unless => “ls -al /etc/alternatives/editor | grep vim.basic”, }

Ejemplos: Deshabilitar login de root del sshd class norootssh { package { “openssh-server”: ensure => present } service { “ssh”: ensure => running } exec { “perl -pi -e 's/^PermitRootLogin yes$/PermitRootLogin no/' /etc/ssh/sshd_config: path => “/bin:/usr/bin:/sbin:/usr/sbin”, unless => “grep 'PermitRootLogin no' /etc/ssh/sshd_config”, notify => service[ssh] }

Ejemplos: Virtualhosts de Apache define vhost ( $domain, $admin, $docroot, $enable = true ) { $vhpath = “/etc/apache/conf.d/$domain.conf” file { $vhpath: notify => Service[apache], require => File[$docroot], ensure => $enable ? { true => present, false => absent }, content => template(“vhost.erb”), owner => root, group => root, mode => 640, } file { $docroot: ensure => $enable ? { true => directory, false => absent }

Ejemplos: vhost.erb ServerAdmin DocumentRoot ServerName

¡Esto no termina acá! ● Reportes ● Gráficas ● Extensibilidad – Funciones – Providers – Facts

Enlaces de interés ● ● ●

Administración centralizada con Puppet Lucas Di Pentima LUGLi – Santa Fe ¡GRACIAS!