Kubernetes – Administración fácil y rápida con K9s

Si quieres administrar y gestionar tus Clusters de Kubernetes (sea OnPrem, Azure, AWS, GCP, etc) o de MiniKube sin necesidad de recurrir y memorizar los comandos de kubectl, esta es tu solución. K9s es una herramienta gráfica e intuitiva, que se conectará a tus Clusters de Kubernetes con las mismas crendeciales que tengas cacheadas (las que usas con el comando kubectl) y te permitirá hacer un montón de cosas, de manera rápida y sencilla, tanto ver los objetos de Kubernetes (Deploymentes, Services, Pods, HPAs, ConfigMaps, etc.) como realizar acciones sobre ellos (visualizar logs, editarlos en tiempo de ejecución, matar un contenedor, abrir una Shell, etc)

Kubernetes – Introducción a MiniKube e instalación en Windows 11

MiniKube es quizás la principal opción para ejecutar Kubernetes en local, como parte de nuestro entorno de desarrollo, así como para pruebas e incluso para algunas tareas de CI/CD. Actualmente está disponible para Windows, Linux y macOS, así como para diferentes arquitecturas de procesador (ej: ARM), y es probablemente la forma más sencilla de arrancar un Cluster de Kubernetes, permitiendo opciones avanzadas como especificar la versión de Kubernets, integración con RBAC, convivencias de múltiples Clusters, soporte para varios Nodos, ejecución de Registry Docker, etc., además de ser extensible mediante Addons. Una herramienta fundamental hoy en día

OpenStack – El Servicio de Compute (Nova)

Nova es el Servicio de Compute (una especie de Hypervisor Manager), uno de los servicios más importantes y originales de OpenStack, a través del cual podemos gestionar todos lo Hypervisors así como el ciclo de vida de nuestras Instancias de OpenStack (ej: creación, snapshots, borrado, etc.), incluyendo la segregación y agrupamiento de Hosts en Regiones, Host Aggregates, y Availability Zones, la definición de Flavors para la gestión de tallas de los recursos (CPU, Memoria, Disco), y mucho más, totalmente integrado en el Dashboard y accesible a través de API y de OpenStack CLI

OpenStack – El Servicio de Red (Neutron)

Neutron proporciona el Servicio de Red en OpenStack, gracias al cual, podemos tener redes externas, redes internas, enrutarlas entre sí, asignar direcciones IP externas (floating IPs) a nuestras Instancias para acceder a ellas desde el exterior, filtrar el tráfico de red mediante reglas de los Security Groups, y muchas cosas más. En este Post vamos a ver la teoría y arquitectura de Neutron, para continuar con un laboratorio en el que crearemos nuestra primera Instancia en OpenStack, disponible y accesible desde el exterior, y configurarlo todo de forma programática a través de OpenStack CLI

OpenStack – El Servicio de Imágenes: Glance

El Servicio de Imágenes de OpenStack (Glance) es el encargado de almacenar las imágenes que usaremos para crear nuestras Instancias o Máquinas Virtuales, lo que sería el equivalente a las AMIs de AWS o las imágenes de Azure, que podremos gestionar tanto desde el Dashboard de OpenStack como desde OpenStack CLI

Hello World con Python y PyCharm

Python es uno de los lenguajes de programación más populares (no lo digo yo, lo dice la encuesta anual de Stack Overflow), y PyCharm es uno de los principales IDE para programar en Python (junto a Visual Studio Code, son las dos principales opciones), al proporcionar auto-completación de código, depuración avanzada, integración con Git, gestión de paquetes o librerías, refactorización de código, extensión mediante Plugins, y mucho más. En este Post vamos a explicar a través de un ejemplo, cómo crear un nuevo Proyecto en PyCharm, y aclarar las dudas habituales, como la gestión de los Virtual Environment, integración con Git y/o GitHub, ejecutar y depurar, Dockerizar nuestro programa, ejecutarlo con Docker Compose, añadir un README y una Licencia Open Source, etc

OpenStack – El Servicio de Identidad: Keystone

Keystone es el Proyecto OpenStack que proporciona el Servicio de Identidad centralizado, un directorio común, encargado de almacenar y gestionar las credenciales de usuarios y de todos los servicios OpenStack, así cómo de ofrecer la autenticación y autorización de acceso a los diferentes recursos mediante Tokens, sería el equivalente a IAM en AWS. Además es capaz de integrarse con LDAP y con Active Directory. Veremos sus principales conceptos, un esbozo de su flujo de autenticación, y cómo trabajar con Keystone desde OpenStack CLI

OpenStack – El Dashboard (Proyecto Horizon) y la CLI

El Dashboard de OpenStack es el equivalente al Portal de Azure o la Consola de AWS, un Portal donde podremos acceder para gestionar los recursos de nuestra nube, en este caso, de nuestra nube privada. En este Post os voy a contar cómo funciona la organización basada en Proyectos de OpenStack (similar a cómo lo hace Digital Ocean), para continuar con un tour sobre las diferentes pantallas del Dashboard (Proyecto Horizon), tanto como un usuarios regular, como con un usuario Admin, que ayudará mucho a comprender qué es OpenStack, y donde encontraremos de forma gráfica muchas similutes a otros proveedores Cloud como AWS, Azure, GCP o Digital Ocean

OpenStack – Introducción e instalación en CentOS con PackStack

OpenStack es una plataforma Open Source de Cloud Computing para proporcionar Infraestructura como Servicio (IaaS) multi-tenant, capaz de controlar grandes grupos de recursos de Compute, Storage y Networking de uno o varios Data Center, gestionados a través de un Dashboard que proporciona control de Administración y auto-provisión para usuarios, además de un acceso API y una CLI, permitiéndote la creación de tu propia nube privada. Es modular, formado por un conjunto de componentes Core (Nova, Glance, Neutron, Swift, Keyston, y Cinder) y otros opcionales (Horizon, Heat, Designate, Trove, Mistral, Murano, etc.), que se comunican entre sí a través de sus propias APIs, junto con un sistema de colas de mensajes y bases de datos para su configuración y estado

Redis – Stream processing con Redis Streams

Redis Streams, inspirado en Apache Kafka, es una solución de mensajería para sistemas distribuidos donde los datos llegan continuamente, son almacenados (ofrece persistencia), y procesados en tiempo real con garantía de entrega y de procesamiento, como ocurre en entornos de IoT y Big Data. Un Stream es un conjunto de mensajes o eventos temporales, que pueden llegar de forma masiva (gran volumen) y a gran velocidad. Puede trabajarse con uno o varios Streams, con múltiples Productores (ej: sensores IoT o microservicios comunicándose asíncronamente), y múltiples Grupos de Consumidores (ej: cálculos en tiempo real, descarga a Data Lake o Data Warehouse, etc), para formar un sistema escalable y tolerante ante fallos