Capítulo 8. Servidores API personalizados

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Como una alternativa a CustomResourceDefinitions, puedes utilizar un servidor de API personalizado. Los servidores API personalizados pueden servir a grupos de API con recursos del mismo modo que lo hace el servidor API principal de Kubernetes. A diferencia de las CRD, apenas hay límites a lo que puedes hacer con un servidor API personalizado.

Este capítulo comienza enumerando una serie de razones por las que los CRD podrían no ser la solución adecuada para tu caso de uso. Describe el patrón de agregación que hace posible ampliar la superficie de la API de Kubernetes con un servidor de API personalizado. Por último, aprenderás a implementar realmente un servidor de API personalizado utilizando Golang.

Casos prácticos para servidores API personalizados

Un servidor API personalizado puede utilizarse en lugar de los CRD. Puede hacer todo lo que hacen los CRD y ofrece una flexibilidad casi infinita. Por supuesto, esto tiene un coste: la complejidad tanto del desarrollo como del funcionamiento.

Veamos algunos límites de los CRD en el momento de escribir esto (cuando Kubernetes 1.14 era la versión estable). CRDs:

  • Utiliza etcd como medio de almacenamiento (o lo que utilice el servidor de la API de Kubernetes).

  • No admite protobuf, sólo JSON.

  • Sólo admite dos tipos de subrecursos: /estado y /escala (ver "Subrecursos").

Get Programación de Kubernetes now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.