¿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. 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. 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. 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. 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. 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…