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. 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. 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. 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. k0s – Añadir un nuevo nodo al cluster
O como dirían algunos, crecimiento horizontal del cluster. Aún no siendo necesaria la instalación de un tercer nodo por recursos (cpu o memoria), me ha tocado añadir un nodo para que el cluster sea compatible con ciertos servicios que quiero instalar (próximamente). De nuevo, k0s facilita esta tarea y simplemente entregándole un nodo, con acceso por ssh (con llave pública), lo configura y añade al cluster. El mismo archivo yaml que utilice para: Ahora nos sirve para añadir un nuevo nodo. La ejecución sería tal que así: Al finalizar ya tenemos un nuevo y flamante nodo, conseguimos entonces ese crecimiento horizontal.
-
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. 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. 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. 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. 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…