Ansible basics 1

Estándar

ansible-logoAnsible basicamente te permite administrar masivamente maquinas. Es decir si tengo 100 maquinas con apache y necesito cambiar un valor del php.ini no es necesario que entre a esas 100.

 

 

Instalación en Centos 7:

yum install epel-release
yum install ansible

Una vez instalado editaremos el archivo de hosts de Ansible para añadir que hosts forman parte de el.

Leer más

Pequeño script para borrar todos los contenedores de Docker

Estándar

docker-friendsPersonalmente como Docker lo uso para infinidad de pruebas una de las cosas que más me pasa es dejarme 4 o 5 containers que ya no me sirven para nada, y quiero borrarlos todos a la fuerza y sin perder más de 2 segundos.

Es por ello que me hice esta mierda pequeño script para parar y borrar ipsofactos los containers y dejar el servidor limpio.

Si por lo menos a una persona le sirve me doy por satisfecho:

#!/bin/bash

echo “Parando todos los containers”
sleep 1
docker stop $(docker ps -a -q)
echo “Tienes 3 segundos para detener la ejecución del borrado”
sleep 4
docker rm $(docker ps -a -q)

lineas_comando=$(docker ps -a | wc -l)

if [ “$lineas_comando” -eq 1 ];
then
echo “Borrado correctamente”
else
echo “Algo ha ido mal porque siguen quedando contenedores”
fi
sleep 1
exit

Solucionando el bug del Telegram CLI tgl/structures.c:997: tglf_fetch_message_media_new: Assertion `0′ failed.

Estándar

tgAlgunos de vosotros seguro que está teniendo problemas con el Telegram para la consola de Linux desde que actualizaron sus versiones para soporte de .gif y otras opciones de multimedia nuevas.

El error en cuestión es el siguiente:

telegram-cli: tgl/structures.c:997: tglf_fetch_message_media_new: Assertion `0' failed.
SIGNAL received
htg/bin/telegram-cli(print_backtrace+0x2f)[0x46f84f]
tg/bin/telegram-cli(termination_signal_handler+0x64)[0x46f8e4]
/lib/x86_64-linux-gnu/libc.so.6(+0x352f0)[0x7ffb660062f0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)[0x7ffb66006267]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7ffb66007eca]
/lib/x86_64-linux-gnu/libc.so.6(+0x2e03d)[0x7ffb65fff03d]
/lib/x86_64-linux-gnu/libc.so.6(+0x2e0f2)[0x7ffb65fff0f2]
tg/bin/telegram-cli(tglf_fetch_message_media_new+0x266)[0x4a8d46]
tg/bin/telegram-cli[0x4ae0b9]
tg/bin/telegram-cli[0x4aed5e]
tg/bin/telegram-cli(bl_do_create_message_new+0x2c5)[0x4b0145]
tg/bin/telegram-cli(tglf_fetch_message_new+0x16b)[0x4a962b]
tg/bin/telegram-cli(tglf_fetch_alloc_message_new+0x3d)[0x4aafad]
tg/bin/telegram-cli[0x4a0355]
tg/bin/telegram-cli(tglq_query_result+0x10f)[0x499a3f]
tg/bin/telegram-cli[0x49384e]
tg/bin/telegram-cli[0x4b4d9b]
/usr/lib/x86_64-linux-gnu/libevent-2.0.so.5(event_base_loop+0x7fc)[0x7ffb679d9a0c]
tg/bin/telegram-cli(net_loop+0xa4)[0x470e34]
tg/bin/telegram-cli(loop+0x195)[0x472205]
tg/bin/telegram-cli(main+0x2d3)[0x46e103]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7ffb65ff1a40]
tg/bin/telegram-cli(_start+0x29)[0x46e219]

Y por ello no nos deja continuar usandolo.

Asíque para solucionarlo es bien secillo:

Leer más

Mostrar contenedores de Docker sin indicar sus puertos.

Estándar

docker-lego-whaleUn pequeño inconveniente a la hora de usar Docker es que las personas que quieran visualizar la aplicación (mediante navegador web) necesitan indicar el puerto haciendolo un poco “engorroso”.
Es por ello que vamos a ver como poder hacer esto usando VirtualHosts de Apache junto a ProxyPass.

Problema:

Suponemos que tenemos dos contenedores de docker corriendo un simple Apache, ambos contenedores localmente atienden en el puerto 80,
pero la maquina que se comunica con el exterior y la que nos atiende las peticiones está escuchando esos contenedores en el 20001 y 20002 es decir:

20001 –> 80 (ContainerApache1)
20002 –> 80 (ContainerApache2)

Nosotros para poder visualizar esos contenedores tendiamos que utilizar:

http://dominio.com:20001 y http://dominio.com:20002

Y para hacerlo más comodo podriamos hacer:

http://docker1.dominio.com y http://docker2.dominio.com
o
http://dominio1.com y http://dominio2.com

Solución:

Seguir leyendo

Instalación y gestión de Docker (I)

Estándar

docker-100388953-origLos  LXC o LinuX Containers se está poniendo de moda, y es un hecho que se refleja cada día mas.

Aunque hace ya tiempo que existe esta tecnología su gestión no era sencilla, y no ha sido hasta el proyecto opensource de Docker cuando de verdad ha salido a flote toda esta tecnología. Y  es  que es muy fácil con docker-engine poder virtualizar en cualquier sistema operativo cualquier aplicación que queramos desplegar.

Es por ello que a lo largo de estas semanas escriba unas pequeñas guiás de como usar e integrar Docker, como gestionar los contenedores, monitorización sobre el mismo y de la red junto con almacenamiento avanzado.

Así pues vamos manos a la obra:

1- Lo primero que haremos será comprobar nuestra versión del kernel, ya que puede haber incompatibilidades si usamos un kernel inferior a 3.10.

root@DockerNode:~# uname -r
3.13.0-24-generic

2- Importamos la clave GPG:

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 
--recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Seguir Leyendo.