• Nuevo

Guía práctica de Kubernetes

27,80 €
Impuestos incluidos
Si desea crear aplicaciones con un sistema de orquestación de contenedores de la mano de auténticos expertos, ha dado con el libro indicado. Esta guía recoge las explicaciones y lo...
Cantidad

Si desea crear aplicaciones con un sistema de orquestación de contenedores de la mano de auténticos expertos, ha dado con el libro indicado. Esta guía recoge las explicaciones y los consejos de cuatro profesionales que trabajan en el ámbito de Kubernetes y poseen un amplio manejo en sistemas distribuidos, desarrollo de aplicaciones empresariales y código abierto. Asimismo, muchos de los métodos que se presentan en el libro se fundamentan en experiencias de empresas que utilizan Kubernetes con éxito en la fase de producción y están respaldados con ejemplos concretos de código. Gracias a esta guía, esté o no familiarizado con los conceptos básicos de Kubernetes, aprenderá todo lo que necesita para crear las mejores aplicaciones. o Configurar y desarrollar aplicaciones con Kubernetes. o Aprender patrones para monitorizar, asegurar los sistemas, y administrar actualizaciones, implementaciones y procesos de vuelta atrás. o nComprender las políticas de red de Kubernetes y dónde encaja la red de servicios. o Integrar servicios y aplicaciones heredadas, y desarrollar plataformas del más alto nivel con Kubernetes. o Ejecutar tareas de aprendizaje automático en Kubernetes. Este libro es ideal para aquellas personas que están familiarizadas con los conceptos básicos de Kubernetes y que quieren aprender las mejores prácticas que se emplean habitualmente. Brendan Burns es un destacado ingeniero en Microsoft Azure y cofundador del proyecto de código abierto Kubernetes. Eddie Villalba es ingeniero de software en la división de Ingeniería de Software Comercial de Microsoft, y es experto en la nube de código abierto y en Kubernetes. Dave Strebel es arquitecto de la nube nativa global en Microsoft Azure, y es experto en la nube de código abierto y en Kubernetes. Lachlan Evenson es gerente principal del programa en el equipo de cómputo de contenedores en Microsoft Azure Índice Prefacio ........................................................................................................... xiii Reconocimientos ............................................................................................ xvii 1. Configuración de un servicio básico ................................................................ 1 Visión general de la aplicación .................................................................................. 1 Gestión de archivos de configuración ....................................................................... 2 Creación de un servicio replicado mediante Deployments ....................................... 4 Mejores prácticas para la gestión de imágenes ................................................... 4 Creación de una aplicación replicada ................................................................... 4 Configuración de Ingress externa para tráfico HTTP ................................................. 7 Configuración de la aplicación con ConfigMaps ........................................................ 8 Gestión de autenticación con Secrets ..................................................................... 10 Despliegue de una sencilla base de datos con estado ............................................ 13 Creación de un equilibrador de carga TCP con Services ......................................... 17 Uso de Ingress para enrutar el tráfico a un servidor de archivos estáticos ............ 19 Parametrización de la aplicación utilizando Helm .................................................. 21 Mejores prácticas en el despliegue de servicios ..................................................... 23 Resumen .................................................................................................................. 23 2. Flujos de trabajo para desarrolladores ......................................................... 25 Objetivos.................................................................................................................. 25 Creación de un clúster de desarrollo....................................................................... 26 Configuración de un clúster compartido por varios desarrolladores...................... 28 Registro de usuarios ........................................................................................... 28 Creación y dotación de seguridad a un espacio de nombres ............................. 31 Administración de espacios de nombres ........................................................... 33 Servicios a nivel de clúster ................................................................................. 35 Habilitación de flujos de trabajo para desarrolladores ........................................... 35 Instalación inicial ..................................................................................................... 35 Preparación de la fase de desarrollo activo ............................................................ 37 Preparación de pruebas y depuración .................................................................... 38 Mejores prácticas en el establecimiento de un entorno de desarrollo .................. 39 Resumen .................................................................................................................. 39 3. Monitorización y recopilación de registros en Kubernetes ............................ 41 Métricas versus registros......................................................................................... 41 Técnicas de monitorización ..................................................................................... 42 Formas de monitorización ....................................................................................... 42 Visión general de las métricas en Kubernetes ........................................................ 44 cAdvisor .............................................................................................................. 44 Servidor de métricas .......................................................................................... 45 kube-state-metrics ............................................................................................. 46 ¿Qué métricas debemos monitorizar? .................................................................... 47 Herramientas de monitorización ............................................................................. 48 Monitorización en Kubernetes con Prometheus .................................................... 50 Descripción general de la recopilación de registros ................................................ 55 Herramientas para la recopilación de registros ...................................................... 57 Recopilación de registros mediante la pila EFK ....................................................... 58 Alertas...................................................................................................................... 60 Mejores prácticas para monitorización, recopilación de registros y alertas........................................................................... 62 Monitorización ................................................................................................... 62 Recopilación de registros ................................................................................... 63 Alertas ................................................................................................................ 63 Resumen .................................................................................................................. 64 4. Configuración, Secrets y RBAC ...................................................................... 65 Configuración mediante ConfigMaps y Secrets ...................................................... 65 ConfigMaps......................................................................................................... 66 Secrets ................................................................................................................ 66 Mejores prácticas habituales para las API de ConfigMap y Secrets ........................ 68 Mejores prácticas específicas en Secrets ........................................................... 73 RBAC ........................................................................................................................ 74 Manual de RBAC ................................................................................................. 76 Sujetos ................................................................................................................ 76 Reeglas ................................................................................................................ 76 Roles.................................................................................................................... 76 RoleBindings ....................................................................................................... 77 Mejores prácticas de RBAC ................................................................................ 77 Resumen .................................................................................................................. 80 5. Integración continua, pruebas y despliegue .................................................. 81 Control de versiones ................................................................................................ 82 Integración continua ............................................................................................... 82 Pruebas .................................................................................................................... 83 Compilación de contenedores ................................................................................. 84 Etiquetados de imágenes de contenedores ............................................................ 85 Despliegue continuo ................................................................................................ 86 Estrategias de despliegue ........................................................................................ 86 Pruebas en producción ............................................................................................ 92 Configuración de una pipeline y realización de un experimento de caos ............... 93 Configuración de CI ............................................................................................ 94 Configuración de CD ........................................................................................... 97 Realización de la actualización de puesta en marcha ........................................ 98 Un sencillo experimento de caos ....................................................................... 98 Mejores prácticas para CI/CD .................................................................................. 99 Resumen ................................................................................................................ 100 6. Versionado, versiones de lanzamiento y puesta en marcha ........................ 101 Versionado............................................................................................................. 102 Versiones de lanzamiento ..................................................................................... 102 Puesta en marcha .................................................................................................. 103 Todo junto ............................................................................................................. 104 Mejores prácticas para versionado, versiones de lanzamiento y puesta en marcha ............................................................................................... 108 Resumen ................................................................................................................ 110 7. Distribución y preproducción de aplicaciones a nivel mundial .................... 111 Distribución de la imagen ...................................................................................... 112 Parametrización del despliegue ............................................................................ 113 Tráfico con equilibrio de carga a nivel mundial ..................................................... 114 Puesta en marcha confiable de software a nivel mundial .................................... 115 Validación previa al despliegue ........................................................................ 116 Región de canario ............................................................................................. 119 Identificación de los tipos de región ................................................................ 120 Elaboración de la puesta en marcha a nivel global .......................................... 120 Cuando algo sale mal ............................................................................................. 122 Mejores prácticas de puesta en marcha a nivel mundial ...................................... 123 Resumen ................................................................................................................ 124 8. Administración de recursos ........................................................................ 125 Planificador de Kubernetes ................................................................................... 125 Predicados ........................................................................................................ 125 Prioridades ....................................................................................................... 126 Técnicas avanzadas de planificación ..................................................................... 127 Afinidad y antiafinidad de cápsulas .................................................................. 127 nodeSelector .................................................................................................... 129 Manchas y tolerancias ...................................................................................... 130 Administración de recursos de cápsulas ............................................................... 131 Solicitud de recursos ........................................................................................ 132 Límites a los recursos y calidad de servicio de cápsulas .................................. 133 PodDisruptionBudgets...................................................................................... 135 Mínimo disponible ............................................................................................ 136 Máximo no disponible ...................................................................................... 136 Administración de recursos mediante espacios de nombres .......................... 137 ResourceQuota ................................................................................................. 138 LimitRange ........................................................................................................ 140 Escalado de clúster ........................................................................................... 142 Escalado manual ............................................................................................... 142 Escalado automático de clúster ........................................................................ 142 Escalado de aplicaciones .................................................................................. 143 Escalado con HPA ............................................................................................. 144 HPA con métricas personalizadas .................................................................... 146 Vertical Pod Autoscaler .................................................................................... 146 Mejores prácticas en la gestión de recursos ......................................................... 147 Resumen ................................................................................................................ 148 9. Interconexión, seguridad en red y malla de servicios .................................. 149 Principios de red en Kubernetes ........................................................................... 149 Complementos de red ........................................................................................... 152 Kubenet ............................................................................................................ 153 Mejores prácticas en Kubenet .......................................................................... 153 El complemento CNI ......................................................................................... 153 Mejores prácticas en CNI ................................................................................. 154 Servicios en Kubernetes ........................................................................................ 155 Tipo de servicio ClusterIP ................................................................................. 156 Tipo de servicio NodePort ................................................................................ 157 Tipo de servicio ExternalName ......................................................................... 158 Tipo de servicio LoadBalancer .......................................................................... 159 Ingress y controladores Ingress ........................................................................ 161 Administración del protocolo HTTP .................................................................. 161 Mejores prácticas en servicios y controladores Ingress ................................... 162 Políticas de seguridad de red ................................................................................ 163 Mejores prácticas en política de red ................................................................ 166 Mallas de servicios................................................................................................. 168 Mejores prácticas en malla de servicios........................................................... 169 Resumen ................................................................................................................ 170 10. Seguridad de cápsulas y contenedores ..................................................... 171 API de PodSecurityPolicy ....................................................................................... 171 Habilitación de PodSecurityPolicy .................................................................... 172 Anatomía de PodSecurityPolicy ....................................................................... 174 Retos de PodSecurityPolicy .............................................................................. 183 Políticas con incumplimientos razonables ........................................................ 183 Mucho esfuerzo ................................................................................................ 184 ¿Están interesados nuestros desarrolladores en aprender PodSecurityPolicy? ....................................................................... 184 La depuración es engorrosa .............................................................................. 184 ¿Confiamos en artefactos fuera de nuestro control? ....................................... 184 Mejores prácticas en PodSecurityPolicy .......................................................... 184 Siguientes pasos en PodSecurityPolicy ............................................................ 185 Aislamiento de tareas y RuntimeClass .................................................................. 185 Utilización de RuntimeClass ............................................................................. 187 Aplicaciones del tiempo de ejecución .............................................................. 187 Mejores prácticas en aislamiento de tareas y RuntimeClass ........................... 188 Otras consideraciones sobre la seguridad............................................................. 188 Controladores de admisión .............................................................................. 189 Herramientas de detección de intrusiones y anomalías .................................. 189 Resumen ................................................................................................................ 189 11. Política y gobierno del clúster ................................................................... 191 Por qué la política y la gestión son importantes ................................................... 191 ¿En qué sentido esta política es diferente? .......................................................... 191 Motor de políticas nativas en la nube ................................................................... 192 Introducción a Gatekeeper .................................................................................... 192 Ejemplos de políticas ........................................................................................ 193 Terminología Gatekeeper ................................................................................. 193 Restricción ........................................................................................................ 194 Rego .................................................................................................................. 194 Plantilla de restricción ...................................................................................... 194 Definición de plantillas de restricción .............................................................. 194 Definición de restricciones ............................................................................... 196 Replicación de datos ........................................................................................ 197 UX (Experiencias de usuario) ............................................................................ 198 Auditoría ................................................................................................................ 198 Familiarizándonos con Gatekeeper .................................................................. 200 Siguientes pasos en Gatekeeper ........................................................................... 200 Mejores prácticas en política y gestión ................................................................. 200 Resumen ................................................................................................................ 202 12. Administración de varios clústeres ........................................................... 203 ¿Por qué varios clústeres? ..................................................................................... 203 Consideraciones sobre la utilización de varios clústeres en el diseño .................. 206 Administración de despliegues de varios clústeres............................................... 208 Patrones de despliegue y administración ........................................................ 208 Enfoque de GitOps para la administración de clústeres ....................................... 211 Herramientas de administración de varios clústeres ............................................ 213 Federation de Kubernetes ..................................................................................... 214 Mejores prácticas en la gestión de un conjunto de clústeres ............................... 217 Resumen ................................................................................................................ 218 13. Integración de servicios externos y Kubernetes ........................................ 219 Importación de servicios a Kubernetes ................................................................. 219 Servicios sin selector para direcciones IP fijas ................................................. 220 Servicios basados en CNAME para nombres DNS fijos .................................... 221 Enfoques basados en controlador activo ......................................................... 223 Exportación de servicios desde Kubernetes .......................................................... 224 Exportación de servicios mediante equilibradores de carga internos ............. 225 Exportación de servicios en NodePorts ............................................................ 226 Integración entre máquinas externas y Kubernetes ........................................ 227 Compartición de servicios entre Kubernetes ........................................................ 228 Herramientas de terceros ...................................................................................... 229 Mejores prácticas en conexión de clústeres y servicios externos ......................... 229 Resumen ................................................................................................................ 230 14. Ejecución de aprendizaje automático en Kubernetes ................................ 231 ¿Por qué Kubernetes es ideal para el aprendizaje automático? ........................... 231 Flujo de trabajo del aprendizaje automático ........................................................ 232 Aprendizaje automático para administradores de clúster de Kubernetes ........... 234 Entrenamiento del modelo en Kubernetes ...................................................... 234 Entrenamiento del primer modelo en Kubernetes ........................................... 235 Entrenamiento distribuido en Kubernetes....................................................... 238 Restricciones de recursos ................................................................................. 238 Planificación de particularidades ...................................................................... 239 Hardware especializado ................................................................................... 239 Bibliotecas, controladores y módulos de kernel .............................................. 240 Almacenamiento .............................................................................................. 240 Almacenamiento y distribución del conjunto de datos entre nodos esclavos durante el entrenamiento .................................................................. 241 Puntos de control y modelos de grabación ...................................................... 241 Interconexión ................................................................................................... 242 Protocolos especializados ................................................................................ 242 Preocupaciones del científico de datos ................................................................. 243 Mejores prácticas en aprendizaje automático en Kubernetes.............................. 244 Resumen ................................................................................................................ 245 15. Creación de patrones de aplicaciones de alto nivel sobre Kubernetes ....... 247 Enfoques para desarrollar abstracciones de alto nivel ......................................... 247 Extensión de Kubernetes ....................................................................................... 248 Extensión de clústeres de Kubernetes ............................................................. 249 Ampliación de la experiencia de usuario de Kubernetes ................................. 251 Consideraciones de diseño en la creación de plataformas ................................... 251 Apoyo a la exportación de una imagen de contenedor ................................... 252 Soporte a los mecanismos existentes de servicios y descubrimiento de servicios ............................................................................................................ 253 Mejores prácticas en la creación de plataformas de aplicaciones ........................ 253 Resumen ................................................................................................................ 254 16. Gestión de aplicaciones con estado y apátridas ........................................ 255 Volúmenes y montajes de volumen ...................................................................... 256 Mejores prácticas en volúmenes ..................................................................... 257 Almacenamiento en Kubernetes ........................................................................... 258 PersistentVolume ............................................................................................. 258 PersistentVolumeClaims .................................................................................. 259 Clases de almacenamiento ............................................................................... 260 Interfaz de almacenamiento de contenedores y FlexVolume .......................... 261 Mejores prácticas en almacenamiento de Kubernetes .................................... 262 Aplicaciones con estado ........................................................................................ 263 StatefulSets ...................................................................................................... 264 Operadores ....................................................................................................... 266 Mejores prácticas en StatefulSet y Operators ................................................. 267 Resumen ................................................................................................................ 268 17. Control de admisión y autorización .......................................................... 269 Control de admisión .............................................................................................. 270 ¿Qué son? ......................................................................................................... 270 ¿Por qué son importantes? .............................................................................. 270 Tipos de controladores de admisión ................................................................ 271 Configuración de webhooks de admisión ........................................................ 272 Mejores prácticas en control de admisión ....................................................... 274 Autorización ........................................................................................................... 277 Módulos de autorización .................................................................................. 278 ABAC ................................................................................................................. 279 RBAC.................................................................................................................. 281 Webhook........................................................................................................... 281 Mejores prácticas de autorización ................................................................... 281 Resumen ................................................................................................................ 282 18. Conclusión ................................................................................................ 283 Índice ............................................................................................................. 285
Marcombo
9788426728807

Ficha técnica

Autor
Brendan Burns, Eddie Villalba, Dave Strebel y Lachlan Evenson
Subtitulo
Proyectos para crear aplicaciones de éxito con Kubernetes
Editorial
Marcombo
Tematica
Gráficos y diseño web

Referencias específicas