Tutoriales

Cómo crear un operador de Kubernetes

Los operadores de Kubernetes son una forma de crear, configurar y administrar aplicaciones complejas sobre Kubernetes. Nuestro artículo anterior explicaba los operadores: cómo surgieron, cuándo y por qué son útiles. En este artículo, le mostraremos cómo crear su propio operador.

[ Learn the basics in the Kubernetes cheat sheet. ]

Crea tu propio transportista

Si bien la curva de aprendizaje puede ser empinada, existen herramientas y comunidades que facilitan el comienzo. Marco del operador es un conjunto de herramientas de código abierto para administrar operadores de Kubernetes de manera eficiente, automatizada y escalable. Consta de tres conjuntos de herramientas principales: SDK de operador, Administrador del ciclo de vida del operador (OLM)y OperadorHub.io.

Componentes del marco del operador (Manna Kong, CC BY-SA 4.0)

SDK de operador

El SDK del operador proporciona herramientas para los operadores de construcción, prueba y empaquetado. El marco utiliza una biblioteca de tiempo de ejecución del controlador para simplificar la escritura del operador al proporcionar API de alto nivel para escribir intuitivamente lógica operativa, andamios y herramientas de generación de código para iniciar rápidamente nuevos proyectos y extensiones para cubrir casos de uso comunes del operador.

Para instalar el SDK del operador, clone el código fuente y luego compile:

$ git clone 
$ cd operator-sdk
$ git checkout master
$ make install

[ Get this complimentary eBook from Red Hat: Managing your Kubernetes clusters for dummies. ]

Administrador del ciclo de vida del operador (OLM)

OLM amplía Kubernetes para proporcionar una forma declarativa de instalar, administrar y actualizar operadores en un clúster. OLM incluye actualizaciones inalámbricas y un catálogo para mantener a los operadores actualizados automáticamente. Tiene un modelo de dependencia que permite a los operadores expresar dependencias en la plataforma y otros operadores. OLM hace que los operadores y sus servicios estén disponibles para la selección e instalación por parte de los usuarios del clúster. Proporciona estabilidad de clúster al evitar que los operadores en conflicto tengan la misma API.

Arquitectura OLM

(Maná Kang, CC BY-SA 4.0)

OLM opera en dos operadores:

  • operador de olm
  • operador de directorio

Estos operadores gestionan los CRD que subyacen en el marco OLM. Los CRD gestionados por olm-operator y catalog-operator son:

  • Versión del servicio de clúster
  • plano de instalación
  • origen del directorio
  • suscripción
  • grupo de operadores

operador OLM

El operador de OLM implementa la aplicación definida por ClusterServiceVersion (CSV) después de que los recursos requeridos especificados en CSV ingresen al clúster.

CSV es un YAML Un manifiesto creado a partir de los metadatos del operador que ayuda a OLM a ejecutar operadores en el clúster. Dado que el Operador OLM no se ocupa de la creación de recursos, el usuario puede optar por crear estos recursos manualmente mediante la interfaz de línea de comandos (CLI) o elegir crearlos mediante el Operador de catálogo.

El Operador OLM está configurado de tal manera que supervisa todos los espacios de nombres. Supervisa el CSV y comprueba que se cumplen todos los requisitos. Si es así, ejecutará la estrategia de instalación de CSV.

operador de directorio

El operador de catálogo analiza e instala el CSV y sus recursos necesarios. El Operador de catálogo supervisa CatalogSource y Subscriptions y crea InstallPlans a partir de ellos.

  • CatalogSource es una colección de metadatos definidos en CSV.
  • Las suscripciones describen a qué canal del paquete del operador suscribirse y si realizar las actualizaciones de forma automática o manual. También definen el nombre y el espacio de nombres del operador.

El operador de catálogo también supervisa los InstallPlans resueltos y no resueltos creados por el usuario y crea todos los recursos descubiertos para ellos.

[ Getting started with containers? Check out Deploying containerized applications: A technical overview. ]

OperadorHub.io

OperatorHub.io es la base de operaciones de la comunidad de Kubernetes para compartir operadores. Fue iniciado y creado por Red Hat, con Amazon, Microsoft y Google como patrocinadores iniciales. OperatorHub.io pretende ser la ubicación central donde los usuarios puedan encontrar una variedad de operadores creados por la comunidad.

La biblioteca OperatorHub.io se creó para desarrolladores de operadores y usuarios finales. Proporciona un lugar para que los desarrolladores publiquen y actualicen su trabajo, y define los estándares y requisitos para la publicación. Los operadores en OperatorHub.io están estandarizados para proporcionar a los usuarios finales documentación básica y fácil acceso para implementar y administrar operadores desde sus propios clústeres de Kubernetes.

OperatorHub.io es Repositorio de operadores comunitarios en GitHub, por lo que para publicar un operador en OperatorHub.io, los desarrolladores simplemente empaquetan su operador a través de OLM y repositorio revisalo.Para obtener más información sobre cómo contribuir, consulte Página de contribución de OperatorHub.io.

¿Dónde encaja la plataforma de contenedores OpenShift?

(Maná Kang, CC BY-SA 4.0)

RedHat OpenShift Container Platform (RHOCP) es una base de nube híbrida uniforme para crear y escalar aplicaciones en contenedores. La plataforma ayuda a los desarrolladores a crear aplicaciones, proporcionando instalación automatizada, actualizaciones y gestión del ciclo de vida en toda la pila de contenedores. Utiliza una arquitectura basada en microservicios y unidades desacopladas más pequeñas que funcionan juntas.

Red Hat Openshift Container Platform ejecuta el sistema operativo Red Hat Enterprise Linux (RHEL) y se ejecuta como un conjunto de contenedores de aplicaciones basados ​​en Docker administrados mediante la orquestación de Kubernetes. La plataforma se utiliza principalmente en escenarios de nube híbrida.

[ Learn the difference between Red Hat OpenShift and Kubernetes. ]

Construye tu propio transportista

Marco de operador oficial tutorial Le permite configurar para crear su propio operador. Como la mayoría de los marcos, es más fácil de lo que podría esperar:

$ mkdir -p $HOME/projects/memcached-operator
$ cd $HOME/projects/memcached-operator

$ operator-sdk init --domain example.com \
  --repo github.com/example/memcached-operator

$ operator-sdk create api --group cache --version v1alpha1 \
  --kind Memcached --resource --controller

Operador Framework lo ayuda a administrar Kubernetes y operadores en la nube. Le permite automatizar tareas importantes que necesita para mantener su nube en buen estado, y es fácil de aprender y usar. Instale el marco del operador Pruébalo hoy.

LEER  Una herramienta que se puede utilizar en la fase de post-explotación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba