Saltar al contenido principal
Guía Práctica de Kubernetes

Guía Práctica de Kubernetes

Proyectos para Crear Aplicaciones de Éxito con Kubernetes

Brendan Burns, Eddie Villalba, Dave Strebel Y Lachlan Evenson

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, muc...

Publishing house :
Marcombo, S. a.
Year of edition:
2020
ISBN:
978-84-267-2880-7
Pages :
316
27,80 €
IVA incluido
Añadir a favoritos

Synopsis

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

Artículos relacionados

Vita

Vita

Uribe-Etxebarria, Xabi

El libro que cambiará cómo entiendes la vida en la era de la inteligencia artificial.«Deslumbrante, adictivo y revelador. Es uno de los mejores libros de divulgación que he leído en mi vida».Rosa Montero Durante siglos hemos creído saber distinguir lo vivo de lo inerte. Un animal está vivo, una máquina no. Pero esa frontera empieza a desdibujarse. La inteligencia artificial, la...

Available

20,90 €

Cada Loco con Su Tema

Cada Loco con Su Tema

Daban, Maria

Cada época tiene sus héroes. Y sus locos. A veces son la misma persona. Un papa desenterrado para ser juzgado. Una monja que cambió el hábito por la espada y vivió como hombre durante años. Una reina humillada que levantó a su pueblo contra Roma. Unos panaderos vieneses que ayudaron a impedir una invasión enemiga. Un héroe de guerra convertido en el traidor más célebre de su pa...

Available

21,90 €

Nexus

Nexus

Harari, Yuval Noah

El esperado nuevo libro de Yuval Noah Harari, uno de los pensadores más innovadores, interesantes y clarividentes de la actualidad, y autor de Sapiens, el fenómeno literario global que ha cautivado a millones de lectores. En Nexus, Harari contempla a la humanidad desde la amplia perspectiva de la historia para analizar cómo las redes de información han hecho y deshecho nuestro ...

Available

12,95 €

La Arbonauta

La Arbonauta

Lowman, Meg

Mientras investigaba los bosques de Australia como estudiante de posgrado, Meg Lowman se dio cuenta de que no podía observar las hojas de las copas utilizando ninguno de los métodos habituales. Así que se fabricó un equipo de escalada y se encaramó a lo alto de los árboles para llevar a cabo sus estudios. Empezó entonces su vida como arbonauta y su defensa de ese mundo que conf...

Available

24,90 €

Enviado Especial

Enviado Especial

Perez-Reverte, Arturo

UNA BIOGRAFÍA DE GUERRA Un libro imprescindible para comprender la mirada literaria de Arturo Pérez-Reverte «Caminé por un mundo en guerra intentando comprender. No me lo contaron. Estuve allí, y esto es lo que vi». Durante veintiún años como reportero de guerra, Arturo Pérez-Reverte vivió en primera línea los conflictos más cruentos del último tercio del siglo xx. Su experienc...

Available

23,90 €

La Respuesta

La Respuesta

Arsuaga, Juan Luis

La evolución con una claridad extraordinaria. Arsuaga nos demuestra que, bien contada, la ciencia conecta con el pensamiento y es capaz de acercarnos al gran sentido de la vida. La respuesta no es un libro más sobre evolución humana. Es el libro en el que Juan Luis Arsuaga, después de décadas dedicadas a estudiar y descifrar nuestros orígenes, ofrece una mirada personal y rigur...

Available

22,90 €