Capítulo 5. Automatizar la generación de código

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

En este capítulo aprenderás a utilizar los generadores de código de Kubernetes en proyectos Go para escribir recursos personalizados de forma natural. Los generadores de código se utilizan mucho en la implementación de recursos nativos de Kubernetes, y aquí utilizaremos los mismos generadores.

Por qué generar código

Go es un lenguaje sencillo por diseño. Carece de mecanismos de alto nivel o incluso de metaprogramación para expresar algoritmos sobre distintos tipos de datos de forma genérica (es decir, independiente del tipo). La "manera Go" consiste en utilizar en su lugar la generación externa de código.

Muy al principio del proceso de desarrollo de Kubernetes, había que reescribir cada vez más código a medida que se añadían más recursos al sistema. La generación de código facilitó mucho el mantenimiento de este código. Muy pronto se creó la biblioteca Gengo, y finalmente, basándose en Gengo, se desarrolló k8s.io/code-generator como una colección de generadores utilizable externamente. Utilizaremos estos generadores en las secciones siguientes para las RC.

Llamar a los generadores

Normalmente, los generadores de código se llaman prácticamente igual en todos los proyectos de controlador. Sólo difieren los paquetes, los nombres de los grupos y las versiones de la API. Llamar al script k8s.io/code-generator/generate-groups.sh ...

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.