Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Mejores prácticas de confiabilidad
Esta sección proporciona orientación sobre cómo hacer que las cargas de trabajo que se ejecutan en EKS sean resilientes y estén altamente disponibles
Cómo usar esta guía
Esta guía está destinada a desarrolladores y arquitectos que desean desarrollar y operar servicios de alta disponibilidad y tolerantes a fallos en EKS. La guía está organizada en diferentes áreas temáticas para facilitar su consumo. Cada tema comienza con una breve descripción, seguida de una lista de recomendaciones y mejores prácticas para garantizar la fiabilidad de los clústeres de EKS.
Introducción
Las prácticas recomendadas de fiabilidad de EKS se han agrupado en los siguientes temas:
-
Aplicaciones
-
Plano de control
-
Plano de datos
¿Qué hace que un sistema sea fiable? Si un sistema puede funcionar de manera consistente y satisfacer las demandas a pesar de los cambios en su entorno durante un período de tiempo, se lo puede considerar confiable. Para lograrlo, el sistema debe detectar las fallas, corregirlas automáticamente y tener la capacidad de escalar en función de la demanda.
Los clientes pueden usar Kubernetes como base para operar aplicaciones y servicios de misión crítica de manera confiable. Pero además de incorporar principios de diseño de aplicaciones basadas en contenedores, ejecutar cargas de trabajo de manera confiable también requiere una infraestructura confiable. En Kubernetes, la infraestructura comprende el plano de control y el plano de datos.
EKS proporciona un plano de control Kubernetes apto para producción que está diseñado para ofrecer una alta disponibilidad y ser tolerante a los fallos.
En EKS, AWS es responsable de la fiabilidad del plano de control de Kubernetes. EKS ejecuta el plano de control de Kubernetes en tres zonas de disponibilidad de una región de AWS. Administra automáticamente la disponibilidad y la escalabilidad de los servidores API de Kubernetes y del clúster etcd.
La responsabilidad de la confiabilidad del plano de datos recae entre usted, el cliente y AWS. EKS ofrece tres opciones de nodos de trabajo para implementar el plano de datos de Kubernetes. Fargate, que es la opción más gestionada, gestiona el aprovisionamiento y el escalado del plano de datos. La segunda opción, que gestiona los grupos de nodos, gestiona el aprovisionamiento y las actualizaciones del plano de datos. Por último, los nodos autogestionados son la opción menos gestionada para el plano de datos. Cuanto más plano de datos gestionado por AWS utilice, menos responsabilidad tendrá.
Los grupos de nodos administrados automatizan el aprovisionamiento y la administración del ciclo de vida de los nodos. EC2 Puede usar la API de EKS (mediante la consola de EKS, la API de AWSCloudFormation, la CLI de AWS o Terraformeksctl
) para crear, escalar y actualizar los nodos administrados. Los nodos gestionados ejecutan EC2 instancias de Amazon Linux 2 optimizadas para EKS en su cuenta, y puede instalar paquetes de software personalizados habilitando el acceso SSH. Cuando aprovisiona nodos administrados, se ejecutan como parte de un grupo de Auto Scaling administrado por EKS que puede abarcar varias zonas de disponibilidad; esto se controla a través de las subredes que proporciona al crear los nodos administrados. EKS también etiqueta automáticamente los nodos gestionados para que puedan usarse con Cluster AutoScaler.
Amazon EKS sigue el modelo de responsabilidad compartida CVEs y los parches de seguridad en los grupos de nodos gestionados. Dado que los nodos gestionados ejecutan Amazon EKS optimizado, AMIs Amazon EKS es responsable de crear versiones parcheadas de estos AMIs cuando se corrijan errores. Sin embargo, es responsable de implementar estas versiones de AMI parcheadas en los grupos de nodos administrados.
EKS también gestiona la actualización de los nodos, aunque usted debe iniciar el proceso de actualización. El proceso de actualización del nodo gestionado se explica en la documentación de EKS.
Si ejecuta nodos autogestionados, puede utilizar la AMI de Linux optimizada para Amazon EKS para crear nodos de trabajo. Usted es responsable de parchear y actualizar la AMI y los nodos. Se recomienda utilizar o utilizar eksctl
la infraestructura como herramientas de código para aprovisionar los nodos autogestionados CloudFormation, ya que esto le facilitará la actualización de los nodos autogestionados. Considere la posibilidad de migrar a nuevos nodos cuando actualice los nodos de trabajo, ya que el proceso de migración contamina el grupo de nodos anterior NoSchedule
y agota los nodos una vez que una nueva pila esté lista para aceptar la carga de trabajo del módulo existente. Sin embargo, también puedes realizar una actualización local de los nodos autogestionados.
Modelo de responsabilidad compartida - Fargate

Modelo de responsabilidad compartida - MNG

Esta guía incluye un conjunto de recomendaciones que puede utilizar para mejorar la confiabilidad de su plano de datos de EKS, los componentes principales de Kubernetes y sus aplicaciones.
Comentarios
Esta guía se publica GitHub para recopilar comentarios y sugerencias directos de la comunidad más amplia de EKS/Kubernetes. Si tienes alguna práctica recomendada que consideres que deberíamos incluir en la guía, presenta un problema o envía un PR al repositorio. GitHub Tenemos la intención de actualizar la guía periódicamente a medida que se añadan nuevas funciones al servicio o cuando surja una nueva práctica recomendada.