Resumen
Los operadores de Red Hat® OpenShift® automatizan la creación, la configuración y la gestión de las aplicaciones de Kubernetes. Utilizan las definiciones de recursos personalizados, correcciones automatizadas y bucles permanentes para configurar los archivos YAML. Red Hat OpenShift utiliza operadores para ejecutar la plataforma de aplicaciones de forma autónoma y, al mismo tiempo, posibilitar el acceso a la configuración a través de los objetos de Kubernetes, lo cual permite una instalación rápida y actualizaciones sólidas y frecuentes.
Con los operadores, puedes automatizar todos los niveles de la stack, desde la gestión de las partes que conforman la plataforma hasta las aplicaciones que se proporcionan como un servicio gestionado. Además de automatizar la gestión de la plataforma, lo cual supone una gran ventaja, Red Hat OpenShift permite detectar, instalar y gestionar con facilidad los operadores que se ejecutan en los clústeres.
Red Hat OpenShift incluye OperatorHub integrado, un registro de operadores certificados de proveedores de software y proyectos open source. En él puedes buscar e instalar una biblioteca de operadores cuya compatibilidad con Red Hat OpenShift se verificó y que se empaquetaron para simplificar la gestión del ciclo de vida.
¿Qué es un operador de Kubernetes?
Un operador de Kubernetes es un método para empaquetar, implementar y gestionar una aplicación creada en Kubernetes. Estas aplicaciones se implementan en Kubernetes y se gestionan con las herramientas de kubectl y las API de la plataforma.
Básicamente, un operador es un controlador personalizado.
Un controlador es un elemento básico de Kubernetes, el cual se implementa como un sistema de software que se ejecuta de forma permanente en los nodos maestros de la plataforma para comparar el estado deseado que se expresa con el estado actual de un objeto y, si es necesario, realizar los ajustes correspondientes. Los objetos son recursos conocidos, como los pods, los servicios, ConfigMaps o PersistentVolumes. Los operadores implementan este modelo en todas las aplicaciones y, de hecho, son controladores específicos de ellas.
Los operadores son sistemas de software que se ejecutan en un pod del clúster e interactúan con el servidor de la API de Kubernetes. Incorporan nuevos tipos de objetos a través de las definiciones de recursos personalizados, que son un mecanismo de extensión en Kubernetes. Estos objetos personalizados son la interfaz principal para el usuario, y coinciden con el modelo de interacción basado en los recursos que se encuentra en el clúster de Kubernetes.
El operador controla los recursos personalizados y recibe notificaciones sobre su existencia o modificación. En ese momento, comienza a ejecutar un bucle para garantizar que todas las conexiones requeridas para el servicio de la aplicación representada por estos objetos estén disponibles y se hayan configurado tal como lo especificó el usuario en el objeto.
Recursos de Red Hat
Operator Framework
Operator Framework es un proyecto open source que ofrece a los desarrolladores y los administradores de clústeres las herramientas necesarias para agilizar el desarrollo y la implementación de los operadores.
El proyecto incluye el kit de desarrollo de software (SDK) para diseñar aplicaciones de Kubernetes, un marco de gestión para ampliar la plataforma con operadores y un catálogo con los operadores de la comunidad de Kubernetes.
Operadores integrados
Operadores de la comunidad
Gracias al acceso a los operadores de la comunidad, los desarrolladores y los administradores de clústeres pueden probarlos en distintos niveles de consolidación que funcionan con cualquier implementación de Kubernetes. Descubre los operadores de la comunidad en OperatorHub.io.
Operadores certificados
Con los operadores certificados de Red Hat OpenShift que se encuentran en el registro integrado OperatorHub, los desarrolladores y los administradores de clústeres pueden acceder a una biblioteca de cargas de trabajo "como servicio", las cuales están verificadas en Red Hat OpenShift y cuentan con el respaldo de Red Hat y sus partners.
Diseña con Operator SDK
Operator SDK proporciona las herramientas para diseñar, probar y empaquetar operadores. El SDK elimina gran parte del código estándar que normalmente se requiere para la integración con la API de Kubernetes. También proporciona una estructura útil para que los desarrolladores puedan concentrarse en incorporar la lógica empresarial, por ejemplo, definir el modo en que el operador debe ajustar, actualizar o hacer un backup de la aplicación que gestiona. El SDK también incluye las prácticas recomendadas y los patrones de código que comparten los diversos operadores, para evitar que se realicen las mismas tareas una y otra vez. Además, favorece los ciclos de desarrollo y prueba cortos y constantes, ya que proporciona herramientas para la validación básica del operador y paquetes automatizados para llevar a cabo la implementación con el proyecto Operator Lifecycle Manager.

Empaqueta los operadores con Operator Lifecycle Manager
Operator Lifecycle Manager (OLM) es la base que facilita la gestión de los operadores en un clúster de Kubernetes. Los operadores que ofrecen aplicaciones populares como servicio suelen ser cargas de trabajo de larga duración y pueden requerir muchos permisos en el clúster.
Con OLM, los administradores pueden controlar qué operadores están disponibles en qué espacios de nombres y quién puede interactuar con los que están en ejecución. Los permisos se configuran con precisión de forma automática para seguir un enfoque de privilegios mínimos. OLM gestiona el ciclo de vida general de los operadores y sus recursos al resolver las dependencias entre proveedores, activar las actualizaciones tanto de los operadores como de las aplicaciones que gestionan y conceder a los equipos acceso a un operador dentro de la parte del clúster que tienen asignada.
Las aplicaciones sencillas y sin estado pueden utilizar las funciones de gestión del ciclo de vida de Operator Framework con un operador genérico, por ejemplo, el operador de Helm, sin necesidad de escribir código. Sin embargo, los operadores son especialmente útiles para las aplicaciones complejas y con estado. Las funciones de servicios gestionados que vienen en el código del operador ofrecen una experiencia del usuario avanzada, debido a que automatizan funciones como las actualizaciones, los backups y el ajuste.
Mira un video que resume el funcionamiento de los operadores y de Helm

Mide el uso de los recursos con Operator Metering
Con las extensiones de medición, los equipos de TI pueden tener un mayor control de sus presupuestos, y los proveedores pueden realizar un seguimiento del uso de su software comercial con mayor facilidad. Operator Metering se vincula con los informes de memoria y CPU del clúster y calcula el costo de la infraestructura como servicio (IaaS) y los indicadores personalizados, como las licencias.
Agiliza el desarrollo de aplicaciones con Red Hat OpenShift
Red Hat OpenShift ayuda a tu empresa a diseñar, agilizar y ampliar las cargas de trabajo tradicionales y basadas en inteligencia artificial con seguridad y cumplimiento normativo. Obtén más información al respecto.