Programación de Kubernetes

Book description

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

Si quieres desarrollar aplicaciones nativas en Kubernetes, ésta es tu guía. Los desarrolladores y administradores de AppOps aprenderán a crear aplicaciones nativas de Kubernetes que interactúan directamente con el servidor API para consultar o actualizar el estado de los recursos. Michael Hausenblas, defensor de los desarrolladores de AWS, y Stefan Schimanski, ingeniero principal de software de Red Hat, explican las características de estas aplicaciones y te muestran cómo programar Kubernetes para construirlas.

Explorarás los componentes básicos de Kubernetes, incluida la biblioteca API cliente-go y los recursos personalizados. Todo lo que necesitas para empezar es un conocimiento rudimentario de las herramientas y prácticas de desarrollo y administración de sistemas, como la gestión de paquetes, el lenguaje de programación Go y Git.

  • Recorre los fundamentos de la API de Kubernetes y sumérgete en la estructura interna del servidor
  • Explora la interfaz de programación de Kubernetes en Go, incluidos los objetos de la API de Kubernetes
  • Conoce los recursos personalizados, las herramientas centrales de extensión utilizadas en el ecosistema Kubernetes
  • Utiliza etiquetas para controlar los generadores de código de Kubernetes para recursos personalizados
  • Escribe controladores y operadores personalizados y prepáralos para la producción
  • Amplía la superficie API de Kubernetes implementando un servidor API personalizado

Table of contents

  1. Prefacio
    1. Quién debería leer este libro
    2. Por qué escribimos este libro
    3. Ecosistema
    4. Tecnología que debes comprender
    5. Convenciones utilizadas en este libro
    6. Utilizar ejemplos de código
    7. Aprendizaje en línea O'Reilly
    8. Cómo contactar con nosotros
    9. Agradecimientos
  2. 1. Introducción
    1. ¿Qué significa programar Kubernetes?
    2. Un ejemplo motivador
    3. Patrones de extensión
    4. Controladores y operadores
      1. El bucle de control
      2. Eventos
      3. Activadores por perímetro frente a activadores por nivel
      4. Cambiar los objetos del cluster o el mundo externo
      5. Concurrencia optimista
      6. Operarios
    5. Resumen
  3. 2. Conceptos básicos de la API de Kubernetes
    1. El servidor API
      1. La interfaz HTTP del servidor API
      2. Terminología API
      3. Versionado de la API de Kubernetes
      4. Gestión declarativa de estados
    2. Utilizar la API desde la línea de comandos
    3. Cómo procesa las solicitudes el servidor API
    4. Resumen
  4. 3. Fundamentos del cliente-go
    1. Los Repositorios
      1. La biblioteca de clientes
      2. Tipos de API de Kubernetes
      3. Maquinaria API
      4. Crear y utilizar un cliente
      5. Versiones y compatibilidad
      6. Versiones de la API y garantías de compatibilidad
    2. Objetos Kubernetes en Go
      1. TipoMeta
      2. ObjectMeta
      3. especificaciones y estado
    3. Conjuntos de clientes
      1. Subrecursos de Estado: UpdateStatus
      2. Listados y eliminaciones
      3. Relojes
      4. Expansión de clientes
      5. Opciones del cliente
    4. Informadores y caché
      1. Cola de trabajo
    5. Maquinaria API en profundidad
      1. Tipos
      2. Recursos
      3. Mapeo REST
      4. Esquema
    6. Vender
      1. deslizamiento
      2. dep
      3. Módulos Go
    7. Resumen
  5. 4. Utilizar recursos personalizados
    1. Información sobre el descubrimiento
    2. Definiciones de tipo
    3. Funciones avanzadas de los recursos personalizados
      1. Validar recursos personalizados
      2. Nombres cortos y categorías
      3. Columnas de impresión
      4. Subrecursos
    4. El punto de vista de un desarrollador sobre los recursos personalizados
      1. Cliente dinámico
      2. Clientes mecanografiados
      3. controller-runtime Cliente de Operator SDK y Kubebuilder
    5. Resumen
  6. 5. Automatizar la generación de código
    1. Por qué generar código
    2. Llamar a los generadores
    3. Controlar los generadores con etiquetas
      1. Etiquetas globales
      2. Etiquetas locales
      3. deepcopy-gen Etiquetas
      4. runtime.Object y DeepCopyObject
      5. cliente-gen Etiquetas
      6. informador-gen y lister-gen
    4. Resumen
  7. 6. Soluciones para escribir operadores
    1. Preparación
    2. Siguiente controlador de ejemplo
      1. Bootstrapping
      2. Lógica empresarial
    3. Constructor de Kube
      1. Bootstrapping
      2. Lógica empresarial
    4. El SDK de Operador
      1. Bootstrapping
      2. Lógica empresarial
    5. Otros enfoques
    6. Adopción y orientaciones futuras
    7. Resumen
  8. 7. Controladores y operadores de envíos
    1. Gestión del ciclo de vida y envasado
      1. El envasado: El reto
      2. Timón
      3. Personaliza
      4. Otras opciones de envasado
      5. Buenas prácticas de envasado
      6. Gestión del ciclo de vida
    2. Implementaciones listas para la producción
      1. Obtener los permisos adecuados
      2. Compilaciones y pruebas automatizadas
      3. Controladores personalizados y observabilidad
    3. Resumen
  9. 8. Servidores API personalizados
    1. Casos prácticos para servidores API personalizados
    2. Ejemplo: Una pizzería
    3. La arquitectura: Agregación
      1. Servicios API
      2. Estructura interna de un servidor API personalizado
      3. Autenticación delegada y confianza
      4. Autorización Delegada
    4. Escribir servidores API personalizados
      1. Opciones y Config Patrón y Fontanería de Inicio
      2. La primera salida
      3. Tipos internos y conversión
      4. Escribir los tipos de API
      5. Conversiones
      6. Por defecto
      7. Pruebas de ida y vuelta
      8. Validación
      9. Registro y Estrategia
      10. Instalación API
      11. Admisión
    5. Implementación de servidores API personalizados
      1. Manifiestos de Implementación
      2. Configurar RBAC
      3. Ejecutar el servidor API personalizado de forma insegura
      4. Certificados y confianza
      5. Compartir etcd
    6. Resumen
  10. 9. Recursos personalizados avanzados
    1. Versionado personalizado de recursos
      1. Revisar la Pizzería
      2. Arquitectura de Webhooks de Conversión
      3. Implementación de Webhooks de Conversión
      4. Configurar el servidor HTTPS
      5. Implementación del Webhook de Conversión
      6. Ver la conversión en acción
    2. Webhooks de admisión
      1. Requisitos de admisión en el restaurante Ejemplo
      2. Arquitectura de Webhooks de Admisión
      3. Registro de webhooks de admisión
      4. Implementar un Webhook de Admisión
      5. Webhook de admisión en acción
    3. Esquemas Estructurales y el Futuro de las CustomResourceDefinitions
      1. Esquemas estructurales
      2. Podar frente a preservar campos desconocidos
      3. Controlar la poda
      4. IntOrString y RawExtensions
      5. Valores por defecto
    4. Resumen
  11. A. Recursos
    1. General
    2. Libros
    3. Tutoriales y ejemplos
    4. Artículos
    5. Repositorios
  12. Índice

Product information

  • Title: Programación de Kubernetes
  • Author(s): Michael Hausenblas, Stefan Schimanski
  • Release date: September 2024
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781098188283