• Kubernetes,  QNAP

    Kubernetes. k0s – creación de un registry

    ¿Qué es un Registry?. Pues es un lugar donde guardar las imágenes que van a utilizar los despliegues de Kubernetes. ¿Sencillo no? Hasta ahora he utilizado las imágenes disponibles en el repositorio oficial, pero lo habitual es que una vez vas creando imágenes propias, necesites un repositorio privado. El propio registro de imágenes, no deja de ser otra imagen también disponible en el sitio oficial, y para subir el nivel de abstracción también puede ser un Deploy que corra dentro del cluster. Voy a describir entonces los despliegues y utilidades que he utilizado para disfrutar de mi propio registro. Aquí he utilizado lo mismo que para los anteriores despliegues. Solo…

  • Kubernetes,  QNAP

    Kubernetes. k0s – Monitorizando con Prometheus

    Vamos a seguir añadiendo servicios al cluster. Ahora le toca el turno a la monitorización. La idea es controlar lo que le pasa al propio Kubernetes además de al resto de elementos (que todo no es informática moderna). Hasta ahora estoy usando Nagios por lo que pasar a prometheus.io deberían ser todo ventajas. O eso pienso yo a priori. Como todos estos nuevos servicios derrocha sencillez. He aquí la arquitectura a alto nivel de Prometheus. No es el propósito de este post explicar esta arquitectura puesto que no la entiendo en su totalidad ni me apetece. Sí que voy a describir como la he implementado en mi cluster, explicando en…

  • Kubernetes,  QNAP

    Kubernetes. k0s – Añadir un Ingress con certificados LetsEncrypt

    El siguiente paso lógico para mejorar la aplicación, y una vez que tenemos el LoadBalancer funcionando, sería crear un recurso INGRESS. Con Ingress se consigue publicar la aplicación web al exterior proporcionando balanceo de carga y terminación SSL. Esta última característica es muy importante en motionEye ya que la aplicación no permite por diseño el protocolo seguro. También voy a describir como gestionar con kubernetes el mantenimiento de los certificados de LetsEncrypt con CERT-MANAGER. Instalación de INGRESS Existen diferentes implementaciones de Ingress, yo voy a utilizar nginx que además es mantenida por Kubernetes. Un esquema básico del funcionamiento de Ingress se detalla en la siguiente imagen. La primera acción es…

  • Kubernetes,  QNAP

    Kubernetes. k0s – Añadir un LoadBalancer a motionEye

    En el anterior Post, cree un DEPLOYMENT con la imagen de motioneye además del SERVICE que publicaba el POD. Este servicio (NodePort) expone el Deployment en un puerto del rango 30000-32767 en todos los nodos. Esta solución, aunque funcional no es la más adecuada. Para mejorar el desarrollo voy a cambiar el service por un LoadBalancer, y así exponer el service con una única IP de entrada. El LoadBalancer lo proporciona normalmente un proveedor de nube, pero en este caso es necesario implementarlo en infraestructura propia. En la guía de k0s se describe el proceso, que es muy sencillo y no va más allá de aplicar tres ficheros .yaml Los…

  • Kubernetes,  QNAP

    Kubernetes. k0s – migrando motioneye al nuevo cluster

    El primer servicio que voy a migrar al cluster de kubernetes (k0s) va a ser el de gestión de cámaras IP. Para implementar de manera básica esta nueva APP es necesario: un DEPLOYMENT y un SERVICE. A continuación pego lo primero. Sin entrar en mucho detalle en este fichero se está definiendo: El SERVICE a continuación. De nuevo sin entrar en detalle, en el archivo anterior se define un servicio de tipo NodePort que publica la aplicación motioneye en un puerto alto. Aunque es una opción rápida y sencilla no parece que sea la mejor opción. Por el momento se va a quedar así. Si ponemos en un navegador http://192.168.2.72:32280…

  • Kubernetes,  QNAP

    Kubernetes. k0s – cluster productivo en NAS QNAP

    motivación Aprender una tecnología nueva, de la teoría a la practica. Para criticar o elogiar no queda otra que conocer. cómo lo hacemos De las diferentes soluciones no nube he elegido k0s https://k0sproject.io. Proporciona una solución integrada, empaquetada en un único binario y lista para montar un cluster. Para una instalación básica parto de 1 servidor que actúa de ControlPlane y de 2 Workers que albergarán los despliegues. Como Sistema Operativo elijo una distribución estable y no devoradora de recursos como es Debian. Lo primero es instalar y configurar los 3 servidores, estableciendo por ejemplo la dirección IP al CONTROLLER y a los WORKERS. La preparación del cluster se realiza…

  • Raspberry Pi

    Buscador de Raspberry Pi. rootless

    motivación Ya le hemos planchado una imagen a nuestra Raspberry Pi, y ahora, ¿como nos conectamos a ella? ¿qué IP tiene? … En caso de que esté conectada a un monitor pues nada más sencillo que comprobarlo, pero: si no disponemos de monitor. si trasteamos mucho con ella/s. si directamente no te apetece conectarla por HDMI. Además, no siempre vamos a ser root, y el escenario planteado es rootless. cómo lo hacemos Para encontrar a la/s Raspberry Pi he creado un script en Bash que busca en la red de un equipo que Raspberrys Pi se encuentran en su mismo segmento.

  • Raspberry Pi,  Servicios

    Recuperar procesos de una sesión SSH

    El caso es que estas haciendo un dist-upgrade de raspbian pasando de stretch a buster, y durante la actualización, el portátil dice que no tiene batería y se va a dormir. ¿Y ahora que? El proceso apt está activo en memoria pero asociado a la sesión ssh, entonces ¿cómo llegamos a el? Pues como Linux es nuestro amigo y siempre tiene alguna solución, tenemos la utilidad reptyr que permite mover un proceso existente de terminal. Si realizamos la llamada a la utilidad, pasandole el PID del proceso, éste se desancla de la sesión ssh para pasar a la sesión activa. E voilà! reptyr se trae el proceso a tty actual…

  • Redes

    La importancia de conocer el Modelo OSI de 7 capas

    En este post voy a pasarme un poco al terreno de la teoría. Salgo de la zona de los pequeños post técnicos y muy concretos, para pasar a redactar algo con más texto. Además, entro en el terreno de la opinión, que por supuesto no tiene porque ser compartida. Tal y como indica el título, me gustaría darle la importancia que creo que se merece el conocer el Modelo OSI de 7 capas. En Wikipedia “…, una normativa formada por siete capas que define las diferentes fases por las que deben pasar los datos para viajar de un dispositivo a otro sobre una red de comunicaciones.” También en la wikipedia…

  • Sistemas

    Añadir dispositivos USB en VirtualBox

    motivación Vale, ya tienes tu flamante Oracle VirtualBox instalado. Has usado un buen gestor de paquetes de estos que nos facilitan la vida; apt, yum, synaptic, pacman, entropy, dnf … Incluso ya tienes instaladas las “Extension Pack“. Y después de todo esto resulta que cuando te dispones a añadir un dispositivo USB, como por ejemplo una tarjeta Wifi, pues no aparece ninguno disponible. como se hace Para solucionarlo es necesario que el usuario que lanza el VirtualBox pertenezca al grupo vboxusers. Nada más sencillo que hacer un usermod. $ sudo usermod -aG vboxusers Una vez lanzado el comando anterior no queda más que cerrar la sesión e iniciarla de nuevo.