Читать книгу Guía práctica de Kubernetes - Kelsey Hightower, Brendan Burns - Страница 5

Contenidos

Оглавление

Prefacio

Reconocimientos

1. Configuración de un servicio básico

Visión general de la aplicación

Gestión de archivos de configuración

Creación de un servicio replicado mediante Deployments

Mejores prácticas para la gestión de imágenes

Creación de una aplicación replicada

Configuración de Ingress externa para tráfico HTTP

Configuración de la aplicación con ConfigMaps

Gestión de autenticación con Secrets

Despliegue de una sencilla base de datos con estado

Creación de un equilibrador de carga TCP con Services

Uso de Ingress para enrutar el tráfico a un servidor de archivos estáticos

Parametrización de la aplicación utilizando Helm

Mejores prácticas en el despliegue de servicios

Resumen

2. Flujos de trabajo para desarrolladores

Objetivos

Creación de un clúster de desarrollo

Configuración de un clúster compartido por varios desarrolladores

Registro de usuarios

Creación y dotación de seguridad a un espacio de nombres

Administración de espacios de nombres

Servicios a nivel de clúster

Habilitación de flujos de trabajo para desarrolladores

Instalación inicial

Preparación de la fase de desarrollo activo

Preparación de pruebas y depuración

Mejores prácticas en el establecimiento de un entorno de desarrollo

Resumen

3. Monitorización y recopilación de registros en Kubernetes

Métricas versus registros

Técnicas de monitorización

Formas de monitorización

Visión general de las métricas en Kubernetes

cAdvisor

Servidor de métricas

kube-state-metrics

¿Qué métricas debemos monitorizar?

Herramientas de monitorización

Monitorización en Kubernetes con Prometheus

Descripción general de la recopilación de registros

Herramientas para la recopilación de registros

Recopilación de registros mediante la pila EFK

Alertas

Mejores prácticas para monitorización, recopilación de registros y alertas

Monitorización

Recopilación de registros

Alertas

Resumen

4. Configuración, Secrets y RBAC

Configuración mediante ConfigMaps y Secrets

ConfigMaps

Secrets

Mejores prácticas habituales para las API de ConfigMap y Secrets

Mejores prácticas específicas en Secrets

RBAC

Manual de RBAC

Sujetos

Reeglas

Roles

RoleBindings

Mejores prácticas de RBAC

Resumen

5. Integración continua, pruebas y despliegue

Control de versiones

Integración continua

Pruebas

Compilación de contenedores

Etiquetados de imágenes de contenedores

Despliegue continuo

Estrategias de despliegue

Pruebas en producción

Configuración de una pipeline y realización de un experimento de caos

Configuración de CI

Configuración de CD

Realización de la actualización de puesta en marcha

Un sencillo experimento de caos

Mejores prácticas para CI/CD

Resumen

6. Versionado, versiones de lanzamiento y puesta en marcha

Versionado

Versiones de lanzamiento

Puesta en marcha

Todo junto

Mejores prácticas para versionado, versiones de lanzamiento y puesta en marcha

Resumen

7. Distribución y preproducción de aplicaciones a nivel mundial

Distribución de la imagen

Parametrización del despliegue

Tráfico con equilibrio de carga a nivel mundial

Puesta en marcha confiable de software a nivel mundial

Validación previa al despliegue

Región de canario

Identificación de los tipos de región

Elaboración de la puesta en marcha a nivel global

Cuando algo sale mal

Mejores prácticas de puesta en marcha a nivel mundial

Resumen

8. Administración de recursos

Planificador de Kubernetes

Predicados

Prioridades

Técnicas avanzadas de planificación

Afinidad y antiafinidad de cápsulas

nodeSelector

Manchas y tolerancias

Administración de recursos de cápsulas

Solicitud de recursos

Límites a los recursos y calidad de servicio de cápsulas

PodDisruptionBudgets

Mínimo disponible

Máximo no disponible

Administración de recursos mediante espacios de nombres

ResourceQuota

LimitRange

Escalado de clúster

Escalado manual

Escalado automático de clúster

Escalado de aplicaciones

Escalado con HPA

HPA con métricas personalizadas

Vertical Pod Autoscaler

Mejores prácticas en la gestión de recursos

Resumen

9. Interconexión, seguridad en red y malla de servicios

Principios de red en Kubernetes

Complementos de red

Kubenet

Mejores prácticas en Kubenet

El complemento CNI

Mejores prácticas en CNI

Servicios en Kubernetes

Tipo de servicio ClusterIP

Tipo de servicio NodePort

Tipo de servicio ExternalName

Tipo de servicio LoadBalancer

Ingress y controladores Ingress

Administración del protocolo HTTP

Mejores prácticas en servicios y controladores Ingress

Políticas de seguridad de red

Mejores prácticas en política de red

Mallas de servicios

Mejores prácticas en malla de servicios

Resumen

10. Seguridad de cápsulas y contenedores

API de PodSecurityPolicy

Habilitación de PodSecurityPolicy

Anatomía de PodSecurityPolicy

Retos de PodSecurityPolicy

Políticas con incumplimientos razonables

Mucho esfuerzo

¿Están interesados nuestros desarrolladores en aprender PodSecurityPolicy?

La depuración es engorrosa

¿Confiamos en artefactos fuera de nuestro control?

Mejores prácticas en PodSecurityPolicy

Siguientes pasos en PodSecurityPolicy

Aislamiento de tareas y RuntimeClass

Utilización de RuntimeClass

Aplicaciones del tiempo de ejecución

Mejores prácticas en aislamiento de tareas y RuntimeClass

Otras consideraciones sobre la seguridad

Controladores de admisión

Herramientas de detección de intrusiones y anomalías

Resumen

11. Política y gobierno del clúster

Por qué la política y la gestión son importantes

¿En qué sentido esta política es diferente?

Motor de políticas nativas en la nube

Introducción a Gatekeeper

Ejemplos de políticas

Terminología Gatekeeper

Restricción

Rego

Plantilla de restricción

Definición de plantillas de restricción

Definición de restricciones

Replicación de datos

UX (Experiencias de usuario)

Auditoría

Familiarizándonos con Gatekeeper

Siguientes pasos en Gatekeeper

Mejores prácticas en política y gestión

Resumen

12. Administración de varios clústeres

¿Por qué varios clústeres?

Consideraciones sobre la utilización de varios clústeres en el diseño

Administración de despliegues de varios clústeres

Patrones de despliegue y administración

Enfoque de GitOps para la administración de clústeres

Herramientas de administración de varios clústeres

Federation de Kubernetes

Mejores prácticas en la gestión de un conjunto de clústeres

Resumen

13. Integración de servicios externos y Kubernetes

Importación de servicios a Kubernetes

Servicios sin selector para direcciones IP fijas

Servicios basados en CNAME para nombres DNS fijos

Enfoques basados en controlador activo

Exportación de servicios desde Kubernetes

Exportación de servicios mediante equilibradores de carga internos

Exportación de servicios en NodePorts

Integración entre máquinas externas y Kubernetes

Compartición de servicios entre Kubernetes

Herramientas de terceros

Mejores prácticas en conexión de clústeres y servicios externos

Resumen

14. Ejecución de aprendizaje automático en Kubernetes

¿Por qué Kubernetes es ideal para el aprendizaje automático?

Flujo de trabajo del aprendizaje automático

Aprendizaje automático para administradores de clúster de Kubernetes

Entrenamiento del modelo en Kubernetes

Entrenamiento del primer modelo en Kubernetes

Entrenamiento distribuido en Kubernetes

Restricciones de recursos

Planificación de particularidades

Hardware especializado

Bibliotecas, controladores y módulos de kernel

Almacenamiento

Almacenamiento y distribución del conjunto de datos entre nodos esclavos durante el entrenamiento

Puntos de control y modelos de grabación

Interconexión

Protocolos especializados

Preocupaciones del científico de datos

Mejores prácticas en aprendizaje automático en Kubernetes

Resumen

15. Creación de patrones de aplicaciones de alto nivel sobre Kubernetes

Enfoques para desarrollar abstracciones de alto nivel

Extensión de Kubernetes

Extensión de clústeres de Kubernetes

Ampliación de la experiencia de usuario de Kubernetes

Consideraciones de diseño en la creación de plataformas

Apoyo a la exportación de una imagen de contenedor

Soporte a los mecanismos existentes de servicios y descubrimiento de servicios

Mejores prácticas en la creación de plataformas de aplicaciones

Resumen

16. Gestión de aplicaciones con estado y apátridas

Volúmenes y montajes de volumen

Mejores prácticas en volúmenes

Almacenamiento en Kubernetes

PersistentVolume

PersistentVolumeClaims

Clases de almacenamiento

Interfaz de almacenamiento de contenedores y FlexVolume

Mejores prácticas en almacenamiento de Kubernetes

Aplicaciones con estado

StatefulSets

Operadores

Mejores prácticas en StatefulSet y Operators

Resumen

17. Control de admisión y autorización

Control de admisión

¿Qué son?

¿Por qué son importantes?

Tipos de controladores de admisión

Configuración de webhooks de admisión

Mejores prácticas en control de admisión

Autorización

Módulos de autorización

ABAC

RBAC

Webhook

Mejores prácticas de autorización

Resumen

18. Conclusión

Guía práctica de Kubernetes

Подняться наверх