GUÍA PRÁCTICA DE KUBERNETES

GUÍA PRÁCTICA DE KUBERNETES

PROYECTOS PARA CREAR APLICACIONES DE ÉXITO CON KUBERNETES

BRENDAN BURNS, EDDIE VILLALBA,

27,80 €
IVA incluido
Sólo un ejemplar disponible
Editorial:
Marcombo
Año de edición:
2020
Materia
Informática
ISBN:
978-84-267-2880-7
Páginas:
316
Encuadernación:
Rústica
27,80 €
IVA incluido
Sólo un ejemplar disponible
Añadir a favoritos

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

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

Artículos relacionados

  • APRENDER 3DS MAX: BASES, MODELADO, TEXTURIZADO Y RENDER
    LLENA HURTADO, SONIA
    'Crear mundos espectaculares'. Esta es la consigna con la cual se presenta 3ds Max. Y es que, según los responsables de la compañía, 'si se tiene un sueño, es posible crearlo con 3ds Max'. Así, sin límites. 3ds Max es uno de los programas de creación y animación tridimensional más utilizado y respetado en el mundo. Gracias a su enorme potencial y a sus infinitas prestaciones,...
    Sólo un ejemplar disponible

    21,40 €

  • GAMIFICACION Y JUEGOS SERIOS CURSO PRACTICO
    GOMEZ BELEN
    La Gamificación y los Juegos Serios forman cada vez más parte de nuestras vidas y han venido para quedarse. Esta obra da respuesta a las cuestiones que todos se hacen:¿Qué son?, ¿funcionan de verdad?, ¿son una moda o son herramientas duraderas?, ¿es cierto que pueden ayudar a luchar contra el cáncer o la demencia?, ¿realmente son capaces de modificar la conducta humana?, ¿qué e...
    Sólo un ejemplar disponible

    24,90 €

  • GUÍA PRÁCTICA DE KUBERNETES
    BRENDAN BURNS, EDDIE VILLALBA,
    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...
    Sólo un ejemplar disponible

    27,80 €

  • DIFUNDA SU CONOCIMIENTO MEDIANTE PLATAFORMAS WEB
    DÍAZ GARCÍA, PABLO MANUEL
    ¿Quiere divulgar su conocimiento al mundo? ¿Quiere ayudar a los profesionales a crear escuelas online? El comercio electrónico crece año tras año y el sector de la educación se encuentra en pleno auge, aún más si cabe tras lo vivido con la COVID-19, que nos ha obligado a buscar soluciones para continuar la formación de los alumnos. La docencia online es una necesidad real dent...
    Sólo un ejemplar disponible

    19,95 €

  • PROGRAMACIÓN EN GO
    MACÍAS LLORET, MARIO
    Incremente su cotización profesional con uno de los lenguajes de programación de Google con mas empuje de la ultima década: Go. Go es el lenguaje presentado por Google en 2009, concebido y diseñado para aumentar la productividad y la calidad de su propio software. Su rapidez y ligereza no obvian las características deseables de todo buen lenguaje de alto nivel: expresividad, l...
    Sólo un ejemplar disponible

    24,80 €

  • INTERNET DE LAS COSAS (IOT) CON ESP. MANUAL PRÁCTICO
    PIZARRO PELÁEZ, JESÚS
    El sueño de conectar cualquier tipo de sistema;a internet está cada vez más cerca de la realidad;gracias a la conectividad inalámbrica y al reducido precio;de los chips ESP.;Internet de las cosas (también conocido por su acrónimo en inglés IoT ? Internet of Things) empieza a ser una realidad cotidiana, con la constante aparición de nuevos sistemas, motivando que la sociedad ava...
    Sólo un ejemplar disponible

    22,00 €