Table of Contents
Fabric: automatice sus tareas de administración de Linux y las 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 muchas tienen un problema común de falta de documentación detallada.
En esta guía, lo haremos cubra los pasos para presentar y comenzar a usar fabric para mejorar la administración de grupos de servidores.
Automatice las tareas de administración de Linux usando Fabric
Fabric. 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 varias máquinas y la implementación de aplicaciones.
Leer también. Use Shell Scripting para automatizar las tareas de mantenimiento del sistema Linux
Tener un conocimiento práctico de Python puede ser útil al usar Fabric. pero ciertamente puede que no sea necesario.
freestar.config.enabled_slots.push
Razones por las que debería elegir fabric sobre otras alternativas:
- Simplicity
- Está bien documentado
- No necesitas aprender otro idioma si ya eres un chico de Python.
- Fácil de instalar y usar.
- Es rápido en sus operaciones.
- Es compatible con la ejecución remota en paralelo.
Cómo instalar la herramienta Fabric Automation en Linux
Una característica importante de la tela es que la máquina remota es que necesita administrar solo necesita tener instalado el servidor OpenSSH estándar. Solo necesita ciertos requisitos instalados en el servidor desde el cual está administrando los servidores remotos antes de poder comenzar.
Requisitos:
- Python 2.5+ con los encabezados de desarrollo
- Python-setuptools y pip (opcional, pero preferido) gcc
Fabric. se instala fácilmente usando pip. (muy recomendado), pero puede También prefiera elegir su administrador de paquetes predeterminado yum, dnf o apt-get para instalar el paquete fabric, normalmente llamado fabric. o python-fabric.
Para Distribuciones basadas en RHEL. CentOS. debe tener el repositorio EPEL instalado y habilitado en el sistema para instalar el paquete de fabric.
# yum install fabric [En sistemas basados en RedHat] # dnf install fabric [En las versiones de Fedora 22+]
Para Debian. y sus derivados como Ubuntu. y Mint. los usuarios simplemente pueden hacer apt-get. para instale el paquete de fabric como se muestra:
# apt-get install fabric
Si desea instalar la versión de desarrollo de fabric, puede usar pip. para obtener la rama maestra más reciente.
# yum install python-pip [En sistemas basados en RedHat] # dnf install python-pip [En Fedora 22+ versiones] # apt-get install python-pip [En sistemas basados en Debian]
Una vez que se ha instalado pip correctamente, puede usar pip para obtener la última versión de fabric como se muestra:
# pip install fabric
Cómo usar Fabric para automatizar las tareas de administración de Linux
Así que comencemos a puede usar Fabric. Durante el proceso de instalación, se agregó un script de Python llamado fab a un directorio en su ruta. El script fab. hace todo el trabajo cuando se usa fabric.
Ejecutando comandos en la máquina Linux local
Por convención, debe comenzar creando un archivo Python llamado fabfile.py usando su 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:
# fabric–fabfile/path/to/the/file.py
Fabric usa fabfile. py para ejecutar tareas. El fabfile debe estar en el mismo directorio donde ejecuta la herramienta Fabric.
Ejemplo 1:. Primero creemos un Hello World básico.
# vi fabfile.py
Agregue estas líneas de código en el archivo.
def hello (): print (‘Hola mundo, comunidad Tecmint’)
Guarde el archivo y ejecute el siguiente comando .
# fabuloso hola
Uso de herramientas de tela
Veamos ahora un ejemplo de un fabfile.py. para ejecutar el comando uptime. en la máquina local.
Ejemplo 2 :. Abra un nuevo archivo fabfile.py. de la siguiente manera:
# vi fabfile.py
Y pegue las siguientes líneas de código en el archivo.
# !/usr/bin/env python de fabric.api import local def uptime (): local (‘uptime’)
Luego, guarde el archivo y ejecute el siguiente comando:
# fab uptime
Fabric: comprobar el tiempo de actividad del sistema Ejecutar comandos en máquinas Linux remotas para automatizar tareas
La API de Fabric. utiliza un diccionario de configuración que es de Python equivalente a una matriz asociativa conocida como env, que almacena valores que controlan lo que hace Fabric.
El env.hosts es una lista de servidores en los que desea ejecutar tareas de Fabric. Si su red es 192.168.0.0. y desea administrar el host 192.168.0.2. y 192.168.0.6. con su fabfile. puede configurar env.hosts. de la siguiente manera:
#!/usr/bin/env python de fabric.api import env env.hosts = [‘192.168.0.2’, ‘192.168 .0.6 ‘]
La línea de código anterior solo especifica los hosts en los que ejecutará las tareas de Fabric, pero no hará nada más. Por lo tanto, puede definir algunas tareas, Fabric proporciona un conjunto de funciones que puede utilizar para interactuar con sus máquinas remotas.
Aunque hay muchas funciones, las más utilizadas son:
- ejecutar. que ejecuta un comando de shell en una máquina remota.
- local. que ejecuta un comando en la máquina local.
- sudo. que ejecuta un comando de shell en una máquina remota, con privilegios de root.
- Get. que descarga uno o más archivos de un máquina remota.
- Put. que sube uno o más archivos a una máquina remota.
Ejemplo 3:. Para hacer eco de un mensaje en varias máquinas, cree un fabfile.py como el que se muestra a continuación.
#!/Usr/bin/env python de fabric.api import env, ejecute env .hosts = [‘192.168.0.2’, ‘192.168.0.6’] def echo (): run (“echo-n ‘Hola, estás sintonizado con Tecmint'”)
Para ejecutar las tareas, ejecuta el siguiente comando mmand:
# fab echo
Fabric: Automatice las tareas de Linux en Linux remoto
Ejemplo 4:. Puede mejorar el fabfile.py que creó anteriormente para ejecutar el comando uptime. en la máquina local, para que ejecute el comando uptime. y también verifique el uso del disco usando el comando df en varias máquinas de la siguiente manera:
#!/usr/bin/env python de fabric.api importar env, ejecutar env.hosts = [‘192.168.0.2’, ‘192.168.0.6’] def uptime (): run (‘uptime’) def disk_space (): run (‘df-h’)
Guarde el archivo y ejecute el siguiente comando:
# fab uptime # fab disk_space
Fabric: Automatice las tareas en varios sistemas Linux Implemente automáticamente la pila LAMP en un servidor Linux remoto
Ejemplo 4:. Veamos un ejemplo para implementar el servidor LAMP. (Linux, Apache, MySQL/MariaDB y PHP) en un servidor Linux remoto.
Escribiremos una función que permitirá a LAMP para ser instalado remotamente usando r oot privilegios.
Para RHEL/CentOS y Fedora #!/usr/bin/env python desde fabric.api import env, ejecute env.hosts = [‘192.168.0.2’, ‘192.168.0.6’] def deploy_lamp ( ): run (“yum install-y httpd mariadb-server php php-mysql”) Para Debian/Ubuntu y Linux Mint #!/usr/bin/env python desde fabric.api import env, ejecuta env.hosts = [‘192.168 .0.2 ‘,’ 192.168.0.6 ‘] def deploy_lamp (): sudo (“apt-get install-q apache2 mysql-server libapache2-mod-php5 php5-mysql”)
Guarde el archivo y ejecute el siguiente comando:
# fab deploy_lamp
Nota. Debido a la gran producción, no es posible para nosotros crear un screencast (gif animado) para este ejemplo.
Ahora puede automatizar las tareas de administración del servidor Linux usando Fabric y sus características y ejemplos dados anteriormente …
Algunas opciones útiles para usar con Fabric
- Puede ejecutar fab –Ayuda. para ver información de ayuda y una larga lista de opciones de línea de comandos disponibles.
- Una opción importante es –fabfile = PATH. que le ayuda a especificar un archivo de módulo de Python diferente para importar otro que no sea fabfile.py.
- Para especificar un nombre de usuario para usar cuando se conecte a hosts remotos, utilice la opción –user = USER.
- Para utilizar la contraseña para la autenticación y/o sudo. utilice Opción –password = PASSWORD.
- Para imprimir información detallada sobre el comando NAME, use la opción –display = NAME.
- Para ver los formatos, use –list. opción, opciones: corto, normal, anidado, use la opción –list-format = FORMAT.
- Para imprimir una lista de posibles comandos y salir, incluya la opción –list.
- Puede especificar la ubicación del archivo de configuración a utilizar mediante la opción –config = PATH.
- Para mostrar una salida de error en color, use –colorize-errors.
- Para ver el número de versión del programa y salir, use la –version opción.
Resumen
Fabric es una herramienta poderosa y está bien documentada y proporciona un uso fácil para los principiantes. Puede leer la documentación completa para comprenderlo mejor. Si tiene alguna información para agregar o en caso de algún error que encuentre durante la instalación y el uso, puede dejar un comentario y encontraremos formas de solucionarlo.
Referencia: documentación de Fabric