Fabric automatice sus tareas de administración de Linux e implementaciones de aplicaciones a través de SSH

Fabric automatice sus tareas de administración de Linux e implementaciones de aplicaciones a través de SSH

Cuando se trata de administrar máquinas remotas y la implementación de aplicaciones, existen varias herramientas de línea de comandos, aunque muchos tienen un problema común de falta de documentación detallada.

En esta guía, cubriremos los pasos para introducir y comenzaremos cómo usar la tela para mejorar la administración de grupos de servidores.

Automatizar tareas de administración de Linux usando Fabric

Tela es una biblioteca de Python y una poderosa herramienta de línea de comandos para realizar tareas de administración del sistema, como ejecutar comandos SSH en múltiples máquinas e implementación de aplicaciones.

Leer también: Utilice schippting para automatizar tareas de mantenimiento del sistema Linux

Tener un conocimiento práctico de Python puede ser útil cuando se usa Tela, pero ciertamente puede no ser necesario.

Razones por las que debe elegir tela sobre otras alternativas:

  1. Sencillez
  2. Está bien documentado
  3. No necesitas aprender otro idioma si ya eres un chico de Python.
  4. Fácil de instalar y usar.
  5. Es rápido en sus operaciones.
  6. Admite la ejecución remota paralela.

Cómo instalar la herramienta de automatización de telas en Linux

Una característica importante sobre la tela es que las máquinas remotas que necesita administrar solo necesitan que el servidor OpenSSH estándar. Solo necesita ciertos requisitos instalados en el servidor desde el que administra los servidores remotos antes de poder comenzar.

Requisitos:

  1. Python 2.5+ con los encabezados de desarrollo
  2. Python-SetupTools y PIP (opcional, pero preferido) GCC

Tela se instala fácilmente usando pepita (muy recomendable), pero también es posible que prefiera elegir su paquete de paquete predeterminado YUM, DNF o apt-get para instalar el paquete de tela, típicamente llamado tela o Pitón-Fabricante.

Para Rhel/Cento Distribuciones basadas, debe tener el repositorio EPEL instalado y habilitado en el sistema para instalar el paquete de tela.

# yum instalar tela [en sistemas basados ​​en redhat] # dnf instalar tela [en versiones Fedora 22+] 

Para Debian y son derivados como Ubuntu y menta Los usuarios simplemente pueden hacer apt-get Para instalar el paquete de tela como se muestra:

# tela de instalación de apt-get 

Si desea instalar la versión de desarrollo de Fabric, puede usar pepita Para tomar la rama maestra más reciente.

# yum install python-pip [en sistemas basados ​​en Redhat] # dnf install python-pip [en versiones Fedora 22+] # apt-get install python-pip [en sistemas basados ​​en Debian] 

Una vez que PIP se ha instalado correctamente, puede usar PIP para obtener la última versión de Fabric como se muestra:

# PIP Instalar tela 

Cómo usar Fabric para automatizar las tareas de administración de Linux

Así que comencemos cómo puedes usar tela. Durante el proceso de instalación, se llamó un script de Python fabuloso se agregó a un directorio en su camino. El fabuloso script hace todo el trabajo al usar tela.

Ejecución de comandos en la máquina Linux local

Por convención, debe comenzar creando un archivo de python llamado Fabfile.py Usando tu editor favorito. Recuerde que puede darle a este archivo un nombre diferente como desee, pero deberá especificar la ruta del archivo de la siguiente manera:

# tela -fabfile/rath/to/the/file.py 

Usos de tela Fabfile.py Para ejecutar tareas. El FabFile debe estar en el mismo directorio donde ejecuta la herramienta de tela.

Ejemplo 1: Creemos un básico Hola Mundo primero.

# VI FABFILE.py 

Agregue estas líneas de código en el archivo.

Def Hello (): Imprimir ('Hola Mundo, Comunidad Tecmint') 

Guarde el archivo y ejecute el comando a continuación.

# Fab Hello 
Uso de la herramienta de tela

Veamos ahora un ejemplo de un Fabfile.py para ejecutar el tiempo de actividad comando en la máquina local.

Ejemplo 2: Abrir un nuevo Fabfile.py Archivo de la siguiente manera:

# VI FABFILE.py 

Y pegar las siguientes líneas de código en el archivo.

#! /usr/bin/env python de tela.API Importación local de Tiempo de actividad de DEF (): local ('tiempo de actividad') 

Luego guarde el archivo y ejecute el siguiente comando:

# tiempo de actividad fabuloso 
Fabric: Verifique el tiempo de depresión del sistema

Ejecución de comandos en máquinas remotas de Linux para automatizar tareas

El API de tela utiliza un diccionario de configuración que es el equivalente de Python de una matriz asociativa conocida como envidia, que almacena valores que controlan lo que hace la tela.

El envidia.Hospedadores es una lista de servidores en los que desea ejecutar tareas de tela. Si su red es 192.168.0.0 y deseo administrar el anfitrión 192.168.0.2 y 192.168.0.6 con tu Fabfile, Podrías configurar el envidia.Hospedadores como sigue:

#!/usr/bin/env python de tela.API Importación env env envado.hosts = ['192.168.0.2 ',' 192.168.0.6 '] 

La línea de código anterior solo especifica los hosts en los que ejecutará tareas de tela pero no hará nada más. Por lo tanto, puede definir algunas tareas, Fabric proporciona un conjunto de funciones que puede usar para interactuar con sus máquinas remotas.

Aunque hay muchas funciones, las más utilizadas son:

  1. correr - que ejecuta un comando de shell en una máquina remota.
  2. local - que ejecuta el comando en la máquina local.
  3. sudo - que ejecuta un comando shell en una máquina remota, con privilegios raíz.
  4. Conseguir - que descarga uno o más archivos de una máquina remota.
  5. Poner - que carga uno o más archivos a una máquina remota.

Ejemplo 3: Para hacer eco de un mensaje en múltiples máquinas, cree un Fabfile.py como el de abajo.

#!/usr/bin/env python de tela.API Importamiento envéano, ejecutar envían.hosts = ['192.168.0.2 ',' 192.168.0.6 '] def echo (): run ("echo -n' hola, estás sintonizado con tecmint '") 

Para ejecutar las tareas, ejecute el siguiente comando:

# Fab Echo 
Fabric: automatizar tareas de Linux en Linux remoto

Ejemplo 4: Puedes mejorar el Fabfile.py que creó anteriormente para ejecutar el tiempo de actividad comando en la máquina local, para que ejecute el tiempo de actividad comando y también verifica el uso del disco utilizando el comando DF en múltiples máquinas de la siguiente manera:

#!/usr/bin/env python de tela.API Importamiento envéano, ejecutar envían.hosts = ['192.168.0.2 ',' 192.168.0.6 '] Def Time (): Run (' Ertime ') def disk_space (): run (' df -h ') 

Guarde el archivo y ejecute el siguiente comando:

# Fab Time de actividad # Fab Disk_space 
Fabric: automatizar tareas en múltiples sistemas de Linux

Implementa automáticamente la pila de lámparas en el servidor remoto de Linux

Ejemplo 4: Veamos un ejemplo para implementar LÁMPARA (Linux, Apache, MySQL/MariDB y PHP) en un servidor remoto de Linux.

Escribiremos una función que permitirá que la lámpara se instale de forma remota utilizando privilegios raíz.

Para Rhel/Centos y Fedora
#!/usr/bin/env python de tela.API Importamiento envéano, ejecutar envían.hosts = ['192.168.0.2 ',' 192.168.0.6 '] def implement_lamp (): run ("yum install -y httpd mariadb-server php php-mysql") 
Para Debian/Ubuntu y Linux Mint
#!/usr/bin/env python de tela.API Importamiento envéano, ejecutar envían.hosts = ['192.168.0.2 ',' 192.168.0.6 '] def implement_lamp (): sudo ("apt-get install -q apache2 mysql-server libapache2-mod-php5 php5-mysql") 

Guarde el archivo y ejecute el siguiente comando:

# fabul de despliegue_lamp 

Nota: Debido a una gran salida, no es posible que creemos un screencast (gif animado) para este ejemplo.

Ahora puede automatizar las tareas de administración de servidores de Linux utilizando la tela y sus características y ejemplos dados anteriormente ..

Algunas opciones útiles para usar con tela

  1. Tu puedes correr Fab -Help Para ver la información de ayuda y una larga lista de opciones de línea de comandos disponibles.
  2. Una opción importante es -FabFile = ruta que le ayuda a especificar un archivo de módulo Python diferente para importar otros Fabfile.py.
  3. Para especificar un nombre de usuario para usar cuando se conecta a hosts remotos, use el -usuario = usuario opción.
  4. Para usar la contraseña para la autenticación y/o sudo, utilizar el -contraseña = contraseña opción.
  5. Para imprimir información detallada sobre el nombre del comando, use -visualización = nombre opción.
  6. Para ver el uso de formatos -lista Opción, opciones: corta, normal, anidada, use el -list-format = formato opción.
  7. Para imprimir la lista de posibles comandos y salida, incluya el -lista opción.
  8. Puede especificar la ubicación del archivo de configuración que se utilizará utilizando el -config = ruta opción.
  9. Para mostrar una salida de error de color, use -Los errores de colorización.
  10. Para ver el número de versión y la salida del programa, use el -versión opción.

Resumen

La tela es una herramienta poderosa y está bien documentada y proporciona un uso fácil para los novatos. Puede leer la documentación completa para comprenderlo más. Si tiene alguna información para agregar o en caso de cualquier error que encuentre durante la instalación y el uso, puede dejar un comentario y encontraremos formas de solucionarlos.

Referencia: documentación de tela