Kubernetes: Operadores y CRD

Descubre la diferencia entre Controller y Operator en Kubernetes, CRD y desarrollo con Kubebuilder o Kopf, y cómo Q2BSTUDIO facilita diseño de CRD, automatización y soluciones en AWS/Azure e IA.

16 sept 2025 • 3 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

En Kubernetes existen dos conceptos que conviene diferenciar claramente: el Controller y el Operator. Un Controller es un componente que ejecuta un bucle de control permanente para observar recursos del clúster y reconciliar el estado real con el estado deseado almacenado en etcd. Ejemplos por defecto son el ReplicaSet Controller o el Deployment Controller. Los Operators son Controllers personalizados que, además, introducen nuevos tipos de recursos mediante CustomResourceDefinitions o CRD, de modo que el Operator puede gestionar recursos de alto nivel definidos por el usuario.

Una CustomResourceDefinition extiende la API de Kubernetes para declarar la forma de un recurso propio. Con una CRD se define el grupo API, las versiones, el esquema de los campos y el ámbito namespace o cluster. Tras registrar la CRD se pueden crear CustomResources que representen aplicaciones o servicios de mayor nivel, por ejemplo un recurso MyApp con campos image y banner. Un Operator observa esos objetos y, en su bucle de reconciliación, crea o modifica recursos nativos como Pods, Services o incluso recursos externos en la nube.

Para desarrollar Operators hay varias aproximaciones. En Go es habitual usar Kubebuilder para generar las estructuras y los controladores, aprovechando las librerías oficiales de client-go y controller-runtime. En Python una alternativa sencilla es Kopf que permite registrar handlers para eventos create update delete sobre un grupo y versión de CRD. También existe Operator SDK que facilita crear operadores incluso con plantillas Helm sin escribir lógica en bajo nivel.

El flujo típico para un Operator interno a Kubernetes es: 1 registrar la CRD que define el esquema del recurso personalizado, 2 crear la implementación del Operator que escucha eventos sobre esos recursos, 3 en el handler generar objetos Kubernetes nativos construidos a partir de los valores del CustomResource y 4 actualizar el status del CustomResource con información de estado o identificadores de los recursos creados.

Cuando el Operator gestiona recursos externos el patrón es similar pero en lugar de crear Pods se hacen llamadas a SDK externos. Por ejemplo un recurso MyIngress podría contener una lista de subnets y un esquema internet facing; el Operator puede usar el SDK de AWS para crear un Application Load Balancer, obtener su DNS y ARN y actualizar la sección status del CustomResource con esos datos. En caso de error transitorio se reintenta, en caso de error permanente se marca la condición adecuada en el recurso.

En términos prácticos hay dos estilos de plantillas para crear recursos: mantener plantillas YAML separadas y rellenarlas en tiempo de ejecución o construir los objetos como estructuras del lenguaje y pasarlas al cliente Kubernetes. Kubebuilder fomenta el uso de estructuras Go que generan Pods y otros objetos mediante types del API de Kubernetes. Kopf facilita crear diccionarios o cadenas YAML en Python y convertirlas en objetos con pyyaml antes de enviarlos al cluster.

Para equipos de desarrollo y empresas que buscan integrar esta clase de automatización en sus soluciones, Q2BSTUDIO ofrece servicios de desarrollo y consultoría que combinan experiencia en aplicaciones a medida y despliegue en la nube. Podemos ayudar a diseñar CRD y Operators que automaticen despliegues, configurar pipelines y orquestar infraestructuras en servicios cloud en AWS y Azure o bien crear soluciones de desarrollo de aplicaciones y software a medida que incorporen inteligencia de negocio y agentes IA.

Además de desarrollo a medida Q2BSTUDIO ofrece capacidades en inteligencia artificial para empresas, agentes IA, servicios inteligencia de negocio y Power BI para visualización y analítica avanzada, así como auditoría y ciberseguridad para proteger despliegues y APIs. Palabras clave que describen nuestros servicios incluyen aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.

En resumen, un Controller es el mecanismo de reconciliación que mantiene el estado del clúster, un Operator es la combinación de Controllers personalizados y CRD que materializan recursos de alto nivel y lógica de dominio. Con frameworks como Kubebuilder y Kopf es posible prototipar un micro operator en pocas líneas y luego evolucionarlo hacia soluciones productivas que integren infraestructuras cloud, seguridad y capacidades IA proporcionadas por empresas especializadas como Q2BSTUDIO.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat