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

27,80 €
IVA incluido
Editorial:
MARCOMBO, S.A.
Año de edición:
2020
Materia
Ciencias/ecologia/tecnologia
ISBN:
978-84-267-2880-7
Páginas:
316

Disponibilidad:

  • LLIBRERIA EL PUERTODisponible en proveedor
  • AKELARRE KULTURGUNEADisponible en proveedor

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

  • EL PODER DE LAS PALABRAS (CAMPAÑA DE VERANO EDICIÓN LIMITADA)
    SIGMAN, MARIANO
    Háblate bien. Gestiona tus emociones y mejora tu vida a través del poder de las palabras. Aprende con Mariano Sigman, uno de los neurocientíficos más destacados del mundo, cómo la conversación es la fábrica de ideas más extraordinaria para tu desarrollo personal. Nuestra mente es mucho más maleable de lo que pensamos. Aunque nos resulte sorprendente, conservamos durante toda l...

    7,95 €

  • MUNDOFILTRO
    CHAYKA, KYLE
    «Filterworld examina hábilmente cómo el gigantesco proyecto de medir a la humanidad usando Internet se convirtió en una desafortunada modificación de la humanidad. La historia que aquí se cuenta es fundamental para la tuya, aunque no te des cuenta.» ù Jaron Lanier«Una investigación oportuna que nos muestra cómo podemos derrotar a los algoritmos de la era digital y recobrar nues...

    22,95 €

  • SOBRE LA LECTURA
    PROUST, MARCEL
    Uno de los textos más bellos de Proust, un hermoso elogio de la lectura que abunda en ideas profundas sobre la función y el alcance de ésta en la formación de la persona y del creador. La lectura no debe suplantar a la vida, dice Proust, aunque por sí misma constituye un estímulo del que no podemos prescindir. ...

    12,00 €

  • HASTA QUE SE ACABEN LAS CANCIONES
    LUENGO BEATRIZ
    LA PRIMERA NOVELA DE BEATRIZ LUENGO, UNA DE LAS ARTISTAS MÁS RELEVANTES DEL PANORAMA MUSICAL DE LA INDUSTRIA LATINA «El trabajo de Beatriz rompe fronteras. Beatriz es maravillosa, ella es luz, porque todo lo que hace lo hace con pasión, entrega, dedicación y con mucha honestidad y mucha sinceridad», Ricky Martin. Doña Inés Humanes de Arteaga acaba de morir y deja a Karma, su ga...

    20,90 €

  • UNA INFLUENCER MUERTA EN PARIS
    BLUE JEANS
    El nuevo thriller juvenil de Blue Jeans, brutalmente impactante y actualParís, 2023. Una famosa marca francesa de perfumes y cosméticos convoca el Premio al Mejor Influencer del Momento de habla hispana para así hacerse un hueco en el mercado español. El galardón se entregará en la capital francesa, pero esta fiesta repleta de lujo, influencers y lentejuelas acabará de una form...

    18,90 €

  • EL ARTISTA DEL KO
    CREWS, HARRY
    Eugene Biggs, como se espera de él, abandona los estudios y la granja familiar. Encadena empleos de chichinabo. Conoce a Budd Jenkins, quien lo sube a un ring y se convierte en su mánager. Tras una tercera derrota por KO, Budd lo abandona a su suerte en Nueva Orleans. Ese mismo día, Eugene se descubre poseedor de una habilidad portentosa de la que no dudará en servirse para ven...

    25,00 €