• Kubernetes,  QNAP

    kubernetes. k0s – Instalación de Zigbee2MQTT

    De nuevo vamos a acercar kubernetes a la parte física. No voy a explicar el propósito de Zigbee2MQTT, y simplemente nombraré que con este proyecto podemos tener un HUB para nuestros dispositivos Zigbee. Con este HUB vas a poder gestionar dispositivos de diferentes fabricantes y así puedes escapar de tener todo tu ecosistema de un fabricante o tener que comprar múltiples HUBs (uno por cada fabricante). A jugar! Primero pinto un esquema de los diferentes elementos usados. Destaco, que he desvinculado el servicio de Zigbee2MQTT del dispositivo USB que actúa de receptor. Para conseguirlo, utilizo la aplicación ser2net. Éste servicio, se queda a la escucha y pone a disposición de…

  • Kubernetes,  QNAP

    kubernetes. k0s – MinIO, guardando objetos en el cluster

    MinIO es un servidor de almacenamiento en la nube compatible con Amazon S3, liberado bajo Licencia Apache v2. Como almacén de objetos, MinIO puede almacenar datos desestructurados como fotos, vídeos, archivos de registro, copias de seguridad e imágenes de contenedor. Esto es lo que dice la Wikipedia, pero vamos, que sirve para guardar archivos junto con información relativa a éstos (metadatos). No voy a entrar en detalles, siendo lo más me interesa la total integración de MinIO en Kubernetes. Al lío! Lo primero que quiero indicar es que esta, es una instalación de prueba, con un único servidor y que no es aconsejable usar en un entorno productivo. Sí que…

  • Kubernetes,  QNAP

    kubernetes. k0s – Hola esphome!

    Relacionado con –>Kubernetes. k0s – Instalación de homeassistantkubernetes. k0s – Instalar esphome. Conectar un POD a un puerto USB Una vez montado el chiringuito, para poder programar los esp8266 desde esphome no queda otra que probarlo. Vamos a ver si el matrimonio entre lo físico y kubernetes está bien avenido o si por el contrario pinta a divorcio. Empiezo por una modificación. Ésta, consiste en proporcionar autenticación a la consola de esphome. De manera predeterminada no se pide ninguna credencial y es una buena práctica solicitarla máxime si el servicio está expuesto a Internet. Ahora depende de como tengas publicado el servicio podrás acceder al el. En mi caso lo…

  • Kubernetes,  QNAP

    kubernetes. k0s – Instalar esphome. Conectar un POD a un puerto USB

    Relacionado con –> Kubernetes. k0s – Instalación de homeassistant Hace tiempo instalé un homeassistant en el clúster de kubernetes. Ahora le ha tocado el turno a un compañero inseparable como es esphome, y así poder configurar mis esp8266 también desde kubernetes. Una de las necesidades de esphome es que va a necesitar un acceso físico al puerto usb del NAS, que es donde voy a pinchar un adaptador USB <–> Serial TTL. La verdad es que es un poco extraño mezclar un POD con un puerto físico, pero es la necesidad existente y como siempre lo importante es lo aprendido por el camino. El esquema a alto nivel sería como…

  • Kubernetes,  QNAP

    Kubernetes. k0s – Creación de StorageClass

    Hasta ahora cuando he necesitado persistencia en los Deployments he optado en montar un recurso nfs directamente. Esta solución, aunque práctica, no es la mejor forma de conseguir persistencia en Kubernetes. El primer paso para configurar la persistencia es crear una StorageClass. He elegido el proyecto https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner que permite utilizar el almacenamiento que tengo disponible, un recurso nfs que me proporciona una NAS QNAP. Empezamos. El primer lugar es necesario configurar todo lo relativo a los permisos. Esta declaración la tienes disponible en https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/blob/master/deploy/rbac.yaml y es este caso ni me molesto en explicarla, así que apply -f y listo. Lo siguiente, y es donde está la chicha, la declaración de…

  • Kubernetes,  QNAP

    Kubernetes. k0s – kubernetes-dashboard: alternativa gráfica a kubectl

    Kubernetes Dashboard es una interfaz gráfica de usuario que proporciona una forma de visualizar y administrar clústeres de Kubernetes. Permite a los usuarios interactuar con su clúster de Kubernetes a través de una interfaz web, lo que facilita la supervisión y administración de aplicaciones desplegadas en el clúster. Después de este resumen de libro, ¿que es kubernetes-dashboard? Pues simplemente una manita de pulimento para el omnipresente kubectl. Sin entrar en detalle de las bondades de la herramienta os detallo a continuación como lo he instalado. He declarado toda la configuración en dos únicos archivos: ingress.yaml Es un ingress como los que he configurado hasta ahora con la salvedad de que…

  • Kubernetes,  QNAP

    Kubernetes. k0s – Actualización del cluster

    En https://www.juanjosevalera.com/archivos/kubernetes-k0s-cluster-productivo-en-nas-qnap expliqué el proceso de instalación de k0s (realmente sencillo), y ahora toca hacerlo para el proceso de actualización. Al igual que la instalación, la actualización es muy sencilla y parte de la edición del archivo k0sctl.yaml (bueno el nombre lo elijes tú). No voy a detallar todo el contenido de este archivo, si lo necesitas lo puedes consultar en la entrada mencionada arriba. Tan solo he cambiado la versión estableciendo ésta en la 1.27.3 Una vez modificado el archivo de configuración tan solo queda instalar (k0sctl se dará cuenta que es una actualización). Durante la instalación / actualización se pueden comprobar los cambios que sufren los nodos del…

  • Kubernetes,  QNAP

    Kubernetes. k0s – KUBEVIEW: Pintando lo que está pasando en el cluster

    A medida que se van instalando aplicaciones en el cluster va aumentando la complejidad y es complicado tener una visión general (monitorización) de que está instalado y las relaciones entre los diferentes elementos. Vamos, que se va liando el tema y únicamente uniendo etiquetas de los .yaml no es suficiente para ver el cluster en su conjunto. Existen aplicaciones que permiten pintar los objetos y las relaciones de kubernetes, he incluso, como no podemos instalarlas en el propio cluster. Voy a probar con kubeview y veremos que tal funciona. Creación de los ficheros .yaml Esta disponible en https://artifacthub.io por lo que con helm podemos generar los templates y hacer a…

  • Kubernetes,  QNAP

    Kubernetes. k0s – DRONE: Implementación de un sistema de integración continua

    Uno más para la colección! Vamos a ver que es esto de la integración continua y como siempre voy a evitar servicios externos. Vamos a instalar el Sistema de integración continua DRONE. Drone es un sistema ci relativamente ligero. Se puede instalar en el cluster local k0s que está alojado en el NAS de QNAP. Tiene una gran comunidad que lo soporta y es posible utilizar multitud de gestores GIT, integrándose con ellos. Voy a realizar la integración con github (sí lo se, no es local, esto para la próxima) tanto para los proyectos públicos como privados. GitHub La integración se describe en https://docs.drone.io/server/provider/github donde tras configurar una Aplicación OAuth2…

  • Kubernetes,  QNAP

    Kubernetes. k0s – Instalación de homeassistant

    ¿Cuantas cosas le caben al cluster? De momento ahí va una más! Le toca el turno a Home Assistant. Home Assistant (HA) es un asistente o controlador domótico diseñado en primera instancia para el hogar. No voy a entrar más en detalle acerca de HA ya que no es el propósito de esta entrada. Sí que voy a detallar como se instala en un cluster kubernetes y en más en concreto en mi flamante cluster k0s. A continuación puedes ver el Deploy que utilizo. Realmente es muy sencillo siendo únicamente destacable que la configuración la dejo en un recurso compartido nfs. De esta manera no tengo que complicarme la vida…