Prefacio

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

Bienvenido a Programando Kubernetes, y gracias por elegir pasar un rato con nosotros. Antes de meternos de lleno en el tema, vamos a aclarar rápidamente algunas cuestiones administrativas y organizativas. También compartiremos nuestra motivación para escribir este libro.

Quién debería leer este libro

Eres un desarrollador que se pasa a la nube nativa, o un administrador de AppOps o espacios de nombres que quiere sacar el máximo partido de Kubernetes. Las configuraciones vainilla ya no te sirven, y puede que hayas aprendido sobre los puntos de extensión. Bien. Estás en el lugar adecuado.

Por qué escribimos este libro

Ambos hemos contribuido, escrito, enseñado y utilizado Kubernetes desde principios de 2015. Hemos desarrollado herramientas y aplicaciones para Kubernetes y hemos impartido talleres sobre desarrollo en y con Kubernetes un par de veces. En algún momento dijimos: "¿Por qué no escribimos un libro?". Esto permitiría que aún más gente, de forma asíncrona y a su propio ritmo, aprendiera a programar Kubernetes. Y aquí estamos. Esperamos que te diviertas tanto leyendo el libro como nosotros escribiéndolo.

Ecosistema

En el gran esquema de las cosas, todavía es pronto para el ecosistema Kubernetes. Aunque Kubernetes se ha establecido, a principios de 2018, como el estándar de la industria para gestionar contenedores (y sus ciclos de vida), aún se necesitan buenas prácticas sobre cómo escribir aplicaciones nativas. Los componentes básicos, como client-golos recursos personalizados y los lenguajes de programación nativos de la nube. Sin embargo, gran parte del conocimiento es tribal, repartido por las mentes de las personas y disperso en miles de canales de Slack y respuestas de StackOverflow.

Nota

En, en el momento de escribir esto, Kubernetes 1.15 era la última versión estable. Los ejemplos compilados deberían funcionar con versiones anteriores (hasta la 1.12), pero basamos el código en versiones más recientes de las bibliotecas, correspondientes a la 1.14. Algunas de las funciones más avanzadas de CRD requieren clusters 1.13 o 1.14 para funcionar, la conversión de CRD en el capítulo 9 incluso 1.15. Si no tienes acceso a un clúster lo suficientemente reciente, es muy recomendable utilizar Minikube o kind en la estación de trabajo local.

Tecnología que debes comprender

Este libro de nivel intermedio de requiere una comprensión mínima de algunos conceptos de desarrollo y administración de sistemas. Antes de sumergirte en él, quizá quieras repasar lo siguiente:

Gestión de paquetes

Las herramientas de este libro suelen tener múltiples dependencias que tendrás que satisfacer instalando algunos paquetes. Por tanto, es necesario conocer el sistema de gestión de paquetes de tu máquina. Puede ser apt en sistemas Ubuntu/Debian, yum en sistemas CentOS/RHEL, o port o brew en macOS. Sea cual sea, asegúrate de que sabes instalar, actualizar y eliminar paquetes.

Git

Git se ha establecido como el estándar para el control de versiones distribuido . Si ya estás familiarizado con CVS y SVN pero aún no has utilizado Git, deberías hacerlo. Version Control with Git de Jon Loeliger y Matthew McCullough (O'Reilly) es un buen lugar para empezar. Junto con Git, el sitio web de GitHub es un gran recurso para empezar con un repositorio alojado propio. Para aprender sobre GitHub, consulta sus ofertas de formación y el tutorial interactivo asociado.

Ve a

Kubernetes está escrito en Go. En los últimos dos años, Go ha surgido como el nuevo lenguaje de programación preferido en muchas startups y para muchos proyectos de código abierto relacionados con sistemas. Este libro no pretende enseñarte Go, sino mostrarte cómo programar Kubernetes utilizando Go. Puedes aprender Go a través de distintos recursos, desde documentación en línea en el sitio web de Go hasta entradas de blog, charlas y varios libros.

Convenciones utilizadas en este libro

En este libro se utilizan las siguientes convenciones tipográficas:

Cursiva

Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.

Constant width

Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave. También se utiliza para los comandos y la salida de la línea de comandos.

Constant width bold

Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.

Constant width italic

Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.

Consejo

Este elemento significa un consejo o sugerencia.

Nota

Este elemento significa una nota general.

Advertencia

Este elemento indica una advertencia o precaución.

Utilizar ejemplos de código

Este libro de está aquí para ayudarte a hacer tu trabajo. Puedes encontrar los ejemplos de código utilizados a lo largo del libro en la organización GitHub para este libro.

En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir un CD-ROM de ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.

Agradecemos, pero no exigimos, la atribución. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Programando Kubernetes por Michael Hausenblas y Stefan Schimanski (O'Reilly). Copyright 2019 Michael Hausenblas y Stefan Schimanski".

Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en

Los manifiestos de Kubernetes, ejemplos de código y otros scripts utilizados en este libro están disponibles a través de GitHub. Puedes clonar esos repositorios, ir al capítulo y receta pertinentes, y utilizar el código tal cual.

Aprendizaje en línea O'Reilly

Nota

Durante casi 40 años, O'Reilly Media ha proporcionado formación, conocimientos y perspectivas sobre tecnología y negocios para ayudar a las empresas a alcanzar el éxito.

Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos, conferencias y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita http://oreilly.com.

Cómo contactar con nosotros

Por favor, dirige tus comentarios y preguntas sobre este libro a la editorial:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Norte
  • Sebastopol, CA 95472
  • 800-998-9938 (en Estados Unidos o Canadá)
  • 707-829-0515 (internacional o local)
  • 707-829-0104 (fax)

Tenemos una página web para este libro en la que enumeramos erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/pr-kubernetes.

Envía un correo electrónico para comentar o hacer preguntas técnicas sobre este libro.

Para más información sobre nuestros libros, cursos, conferencias y noticias, consulta nuestro sitio web en http://www.oreilly.com.

Encuéntranos en Facebook: http://facebook.com/oreilly

Síguenos en Twitter: http://twitter.com/oreillymedia

Míranos en YouTube: http://www.youtube.com/oreillymedia

Agradecimientos

Un gran "¡gracias!" a la comunidad de Kubernetes por desarrollar un software tan asombroso y por ser un gran grupo de personas: abiertas, amables y siempre dispuestas a ayudar. Además, estamos muy agradecidos a nuestros revisores técnicos: Ahmed Belgana, Michael Gasch, Dimitris Gkanatsios, Mingding Han, Jess Males, Max Neunhöffer, Ewout Prangsma y Adrien Trouillaud. Todos habéis aportado comentarios muy valiosos y útiles, y habéis hecho que el libro sea más legible y útil para el lector. ¡Gracias por vuestro tiempo y esfuerzo!

Michael desea expresar su más profunda gratitud a su impresionante y comprensiva familia: mi endiabladamente inteligente y divertida esposa, Anneliese; nuestros hijos Saphira, Ranya e Iannis; y nuestro casi todavía cachorro Snoopy.

Stefan quiere dar las gracias a su mujer, Clelia, por apoyarle y animarle siempre que volvía a "trabajar en el libro". Sin ella, este libro no estaría aquí. Si encuentras erratas en el libro, hay muchas posibilidades de que hayan contribuido orgullosamente a ellas los dos gatos, Nino y Kira.

Por último, pero no por ello menos importante, ambos autores dan las gracias al equipo de O'Reilly, especialmente a Virginia Wilson, por guiarnos a lo largo del proceso de redacción de este libro, asegurándose de que lo entregaríamos a tiempo y con la calidad esperada.

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.