Mejores prácticas y pautas para lanzar contenedores y Kubernetes en entornos de producción


El ecosistema de las tecnologías de contenedorización se está desarrollando y cambiando rápidamente, por lo tanto, faltan buenas prácticas de trabajo en esta área. Sin embargo, los Kubernetes y los contenedores se utilizan cada vez con más frecuencia, tanto para actualizar aplicaciones antiguas como para desarrollar aplicaciones modernas en la nube. 

El equipo de Mail.ru Kubernetes aaS ha reunido pronósticos, consejos y mejores prácticas para los líderes del mercado de Gartner, 451 Research, StacxRox y otros. Permitirán y acelerarán la implementación de contenedores en entornos de producción.

Cómo entender si su empresa está lista para implementar contenedores en un entorno de producción


Según Gartner , en 2022 más del 75% de las organizaciones utilizarán aplicaciones en contenedores en la producción. Esto es significativamente más que en la actualidad, cuando menos del 30% de las empresas utilizan dichas aplicaciones. 

Según 451 Research , el mercado previsto para el uso de tecnologías de contenedores en 2022 será de $ 4,3 mil millones, lo que representa más del doble de la cantidad proyectada en 2019, con una tasa de crecimiento del mercado del 30%.

En una encuesta realizada por Portworx y Aqua Security, el 87% de los encuestados dijeron que actualmente usan tecnología de contenedores. A modo de comparación, en 2017 hubo un 55% de dichos encuestados. 

A pesar del creciente interés y crecimiento en la introducción de contenedores, su lanzamiento a producción requiere capacitación debido a la inmadurez tecnológica y la falta de conocimientos. Las organizaciones deben analizar de manera realista los procesos comerciales que requieren la contenedorización de aplicaciones. Los líderes de TI deben evaluar si tienen un conjunto de habilidades para avanzar con la necesidad de una capacitación rápida. 

Los expertos de Gartner creen que las preguntas en la figura a continuación lo ayudarán a comprender si está listo para desplegar contenedores en producción:


Los errores más comunes al usar contenedores en producción


Las organizaciones a menudo subestiman el esfuerzo requerido para operar contenedores en producción. Gartner descubrió varios errores comunes en los scripts del cliente al usar contenedores en entornos de producción:


Cómo garantizar la seguridad del contenedor


La seguridad no puede tratarse "más tarde". Debe integrarse en el proceso DevOps, por lo que incluso ha aparecido un término especial: DevSecOps. Las organizaciones deben planificar la protección del entorno del contenedor durante todo el ciclo de vida de desarrollo, que incluye el proceso de ensamblaje y desarrollo, la implementación y el lanzamiento de la aplicación.

Recomendaciones de Gartner

  1. / (CI/CD). . , . — .
  2. Center for Internet Security (CIS), Docker, Kubernetes.
  3. Asegúrese de aplicar el control de acceso, proporcionar separación de funciones e implementar una política de administración de seguridad. La información confidencial, como las claves de la Capa de sockets seguros (SSL) o las credenciales de la base de datos, está encriptada por la orquesta o los servicios de administración de terceros y se proporciona en tiempo de ejecución
  4. Evite los contenedores con privilegios elevados mediante la gestión de políticas de seguridad, esto reducirá los riesgos potenciales de piratería.
  5. Use herramientas de seguridad que brinden listas blancas, monitoreo de comportamiento y detección de anomalías para evitar actividades maliciosas.

Recomendaciones de StacxRox :

  1. Kubernetes. , . , , . , . . 
  2. . , , , « » . , .
  3. Establecer políticas de red: aislar módulos para restringir el acceso a ellos; permitir explícitamente el acceso a Internet a aquellos módulos que lo necesiten utilizando etiquetas; Permitir explícitamente la comunicación entre los módulos que necesitan comunicarse entre sí. 

Cómo organizar el monitoreo de contenedores y servicios en ellos.


La seguridad y la supervisión son las principales preocupaciones de las empresas al implementar clústeres de Kubernetes. Los desarrolladores siempre están más enfocados en las características de las aplicaciones que están desarrollando que en los aspectos de monitoreo de estas aplicaciones

Recomendaciones de Gartner :

  1. Intente monitorear el estado de los contenedores o servicios en ellos junto con los sistemas host de monitoreo.
  2. Dar preferencia a los fabricantes e instrumentos con una integración profunda en la orquestación de contenedores, especialmente Kubernetes.
  3. Elija herramientas que proporcionen un registro detallado, descubrimiento automático de servicios y recomendaciones en tiempo real utilizando análisis y / o aprendizaje automático.

El blog SolarWinds aconseja :

  1. Use herramientas para detectar y rastrear automáticamente las métricas del contenedor, correlacionar las métricas de rendimiento como el procesador, la memoria y el tiempo de actividad.
  2. Asegure una planificación óptima de la capacidad prediciendo el momento del agotamiento de la capacidad en función de los indicadores de monitoreo de contenedores.
  3. , , , , .
  4. , .
  5. , , , .
  6. , (, ) , , .


Con el aumento en el número de contenedores que funcionan con preservación del estado, los clientes deben considerar la ubicación de los datos fuera del host, así como la necesidad de proteger estos datos. 

Según una encuesta realizada por Portworx y Aqua Security , la seguridad de los datos ocupa el primer lugar en la lista de problemas de seguridad observados por la mayoría de los encuestados (61%). 

El cifrado de datos es la principal estrategia de seguridad (64%), pero los encuestados también usan monitoreo de tiempo de ejecución (49%), escaneo de vulnerabilidad de registro (49%), escaneo de vulnerabilidad en tuberías de CI / CD (49%) y bloqueo de anomalías a través de la protección de tiempo de ejecución (48%).

Recomendaciones de Gartner :

  1. , . , , , API, ,  .
  2. . , Kubernetes , CSI (Container Storage Interfaces).


El modelo tradicional de red corporativa, donde los especialistas de TI crean entornos de red para el desarrollo, las pruebas, el aseguramiento de la calidad y la producción de cada proyecto, no siempre está de acuerdo con el flujo de trabajo de desarrollo continuo. Además, las redes de contenedores abarcan múltiples niveles.

El blog de Magalix ha compilado reglas de alto nivel que la implementación de una solución de red de clúster debe cumplir:

  1. Los pods programados en el mismo nodo deben poder comunicarse con otros módulos sin usar NAT (traducción de direcciones de red).
  2. Todos los demonios del sistema (procesos en segundo plano, por ejemplo, kubelet) que se ejecutan en un nodo particular pueden interactuar con pods que se ejecutan en el mismo nodo.
  3. Los pods que usan la red host deberían poder comunicarse con todos los otros pods en todos los demás nodos sin usar NAT. Tenga en cuenta que la red host solo es compatible con hosts Linux.

Las soluciones de red deben estar estrechamente integradas con las primitivas y políticas de Kubernetes. Los ejecutivos de TI deben esforzarse por lograr un alto grado de automatización de la red, proporcionar a los desarrolladores las herramientas adecuadas y la flexibilidad suficiente.

Recomendaciones de Gartner :

  1. Averigüe si su CaaS (contenedor como servicio) o sus redes Kubernetes SDN (Red definida por software) son compatibles. Si no es así o si el soporte es insuficiente, use la Interfaz de red de contenedores (CNI) para sus contenedores, que admite las funcionalidades y políticas necesarias.
  2. , CaaS PaaS ( ) / , . , service mesh.
  3. Linux , .


Para la entrega de aplicaciones automatizada e ininterrumpida, debe complementar la orquestación de contenedores con otras herramientas de automatización, como productos de infraestructura como el código (IaC). Estos incluyen Chef, Puppet, Ansible y Terraform. 

También se requieren herramientas de automatización para ensamblar y desplegar aplicaciones (consulte “El Cuadrante Mágico para la publicación de la aplicación de orquestación ”). Los contenedores también proporcionan capacidades de expansión similares a las que existían al implementar máquinas virtuales (VM). Por lo tanto, los gerentes de TI deben tener herramientas de administración del ciclo de vida del contenedor .

Recomendaciones de Gartner :

  1. , .
  2. , , .
  3. CaaS , .


La funcionalidad clave para implementar contenedores se proporciona en los niveles de orquestación y planificación. Cuando los contenedores de planificación se colocan en los hosts más óptimos del clúster, según lo prescrito por los requisitos del nivel de orquestación. 

Kubernetes se ha convertido en el estándar de facto para la orquestación de contenedores con una comunidad activa, respaldada por la mayoría de los proveedores comerciales líderes. 

Recomendaciones de Gartner :

  1. Defina los requisitos básicos para los controles de seguridad, monitoreo, administración de políticas, almacenamiento de datos, administración de redes y ciclo de vida del contenedor.
  2. Según estos requisitos, seleccione la herramienta que mejor se adapte a sus requisitos y escenarios de uso.
  3. Gartner (. « Kubernetes»), Kubernetes .
  4. , , .


Gartner cree que el interés en implementar contenedores en la nube pública IaaS está creciendo debido a la disponibilidad de ofertas CaaS preconstruidas, así como a la estrecha integración de estas ofertas con otros productos ofrecidos por los proveedores de la nube.

Las nubes IaaS ofrecen consumo de recursos a pedido, escalabilidad rápida y administración de servicios para ayudar a evitar la necesidad de un conocimiento profundo de la infraestructura y su mantenimiento. La mayoría de los proveedores de la nube ofrecen servicios de administración de contenedores, y algunos ofrecen varias opciones de orquestación. 

Los proveedores clave de servicios gestionados en la nube se presentan en la tabla: 

Proveedor de la nubeTipo de servicioProducto / Servicio
AlibabaServicio en la nube nativoAlibaba Cloud Container Service, Alibaba Cloud Container Service for Kubernetes
Amazon Web Services (AWS)Native Cloud ServiceAmazon Elastic Container Services (ECS), Amazon ECS for Kubernetes (EKS), AWS Fargate
Giant SwarmMSPGiant Swarm Managed Kubernetes Infrastructure
GoogleNative Cloud ServiceGoogle Container Engine (GKE)
IBMNative Cloud ServiceIBM Cloud Kubernetes Service
MicrosoftNative Cloud ServiceAzure Kubernetes Service, Azure Service Fabric
OracleNative Cloud ServiceOCI Container Engine for Kubernetes
Platform9MSPManaged Kubernetes
Red HatHosted ServiceOpenShift Dedicated & Online
VMwareHosted ServiceCloud PKS (Beta)
Mail.ru Cloud Solutions*Native Cloud ServiceMail.ru Cloud Containers

* No lo ocultemos, nos agregamos aquí durante la traducción :) Los

proveedores de nubes públicas también agregan nuevas funciones y lanzan productos locales. En un futuro cercano, los proveedores de la nube desarrollarán soporte para nubes híbridas y entornos multi-nube. 

Recomendaciones de Gartner :

  1. Evalúe objetivamente la capacidad de su organización para implementar y administrar las herramientas apropiadas, y considere servicios alternativos de administración de contenedores en la nube.
  2. Elija su software con cuidado, use código abierto cuando sea posible.
  3. Elija proveedores con modelos operativos únicos en entornos híbridos que ofrezcan gestión integrada de clústeres desde un único panel, así como proveedores que faciliten el uso de IaaS de forma independiente.

Algunos consejos para elegir un proveedor de Kubernetes aaS del blog Replex :

  1. Vale la pena buscar distribuciones que admitan alta disponibilidad de fábrica. Esto incluye soporte para varias arquitecturas centrales, componentes de alta disponibilidad, etc., así como copias de seguridad y restauración.
  2. Para la movilidad en entornos Kubernetes, es mejor elegir proveedores en la nube que admitan una amplia gama de modelos de implementación: desde locales hasta híbridos y multi-nube. 
  3. También vale la pena evaluar las ofertas de los proveedores, teniendo en cuenta la facilidad de configuración, instalación y creación de clústeres, así como las actualizaciones, el monitoreo y la resolución de problemas. El requisito básico es el soporte para actualizaciones de clúster totalmente automatizadas con cero tiempo de inactividad. La solución que elija también debería permitirle ejecutar actualizaciones manualmente. 
  4. , . , Kubernetes , . RBAC .
  5. , , , CNI, Flannel, Calico, kube-router OVN.

La introducción de contenedores en la producción se está convirtiendo en el foco principal, como lo demuestran los resultados de una encuesta realizada en la sesión de Gartner sobre infraestructura, operaciones y estrategias de nube (IOCS) en diciembre de 2018:


Como puede ver, el 27% de los encuestados ya usa contenedores en su trabajo, y el 63% lo hará.

En una encuesta realizada por Portworx y Aqua Security, el 24% de los encuestados dijo que invierte más de medio millón de dólares al año en tecnología de contenedores, y el 17% de los encuestados gasta más de un millón de dólares al año en ello. 

Este artículo fue preparado por el equipo de Mail.ru Cloud Solutions de la plataforma en la nube .


All Articles