Procedimientos recomendados para el aislamiento de clústeres en Azure Kubernetes Service (AKS)
Artículo
A medida que administra los clústeres en Azure Kubernetes Service (AKS), a menudo necesita aislar los equipos y las cargas de trabajo. AKS permite flexibilidad en la forma en que ejecuta clústeres de múltiples inquilinos y aísla los recursos. Para maximizar tu inversión en Kubernetes, es importante que comprenda las características de aislamiento y multiusuario de AKS.
Este artículo de procedimientos recomendados se centra en el aislamiento de los operadores de clústeres. En este artículo aprenderá a:
Planea clústeres de múltiples inquilinos y separación de recursos.
Usa aislamiento lógico o físico en los clústeres de AKS.
Diseño de clústeres para la configuración multiempresa
Kubernetes permite aislar lógicamente equipos y cargas de trabajo en el mismo clúster. El objetivo es proporcionar el número mínimo de privilegios en el ámbito de los recursos que necesita cada equipo. Un espacio de nombres de Kubernetes crea un límite de aislamiento lógico. Otras características y consideraciones de Kubernetes para el aislamiento y la tenencia múltiple incluyen las siguientes áreas:
El complemento de Azure Policy para AKS con el fin de aplicar la seguridad del pod.
Admisión de seguridad de pod.
Escaneo de imágenes y tiempo de ejecución en busca de vulnerabilidades.
El uso de AppArmor o Seccomp (informática segura) para restringir el acceso del contenedor al nodo subyacente.
Clústeres aislados lógicamente
Guía de procedimientos recomendados
Separe los equipos y proyectos mediante el aislamiento lógico. Minimice el número de clústeres físicos de AKS que implementa para aislar los equipos o las aplicaciones.
Con el aislamiento lógico, puede usar un único clúster de AKS para varias cargas de trabajo, equipos o entornos. Los espacios de nombres de Kubernetes forman el límite de aislamiento lógico para las cargas de trabajo y los recursos.
La separación lógica de clústeres normalmente proporciona una mayor densidad de pods que los clústeres aislados físicamente, con una menor capacidad de proceso inactiva en el clúster. Cuando se combina con el escalador automático de clúster de Kubernetes, puede escalar vertical u horizontalmente el número de nodos para satisfacer las necesidades. Este enfoque de procedimientos recomendados minimiza los costes al ejecutar solo la cantidad requerida de nodos.
Los entornos de Kubernetes no son del todo seguros para el uso multiinquilino hostil. En un entorno de múltiples inquilinos, varios inquilinos trabajan en una infraestructura compartida. Si no se puede confiar en todos los inquilinos, necesita una planificación adicional para evitar que los inquilinos afecten la seguridad y el servicio de los demás.
Otras características de seguridad, como Kubernetes RBAC para nodos, bloquean de manera eficiente las vulnerabilidades. Para una verdadera seguridad al ejecutar cargas de trabajo multiinquilino hostiles, debe confiar solo en un hipervisor. El dominio de seguridad de Kubernetes se convierte en todo el clúster y no en un nodo individual.
En el caso de estos tipos de cargas de trabajo multiinquilino hostiles, debe usar clústeres que estén físicamente aislados.
Clústeres aislados físicamente
Guía de procedimientos recomendados
Minimiza el uso del aislamiento físico para cada equipo o implementación de aplicaciones por separado y utiliza en su lugar el aislamiento lógico.
Separar físicamente los clústeres de AKS es un enfoque común para el aislamiento de clústeres. En este modelo de aislamiento, los equipos o las cargas de trabajo se asignan a su propio clúster de AKS. Aunque el aislamiento físico podría parecer la manera más fácil de aislar cargas de trabajo o equipos, agrega una sobrecarga financiera y administrativa. Con los clústeres aislados físicamente, debes mantener varios y proporcionar acceso y asignar permisos de forma individual. También se te cobrará por cada nodo individual.
Los clústeres aislados físicamente suelen tener una baja densidad de pods. Ya que cada equipo o carga de trabajo tiene su propio clúster de AKS, el clúster a menudo se aprovisiona en exceso con recursos de proceso. A menudo, se programan algunos pods en esos nodos. La capacidad de los nodos no utilizada no se puede usar para aplicaciones o servicios que están desarrollando otros equipos. Estos recursos en exceso contribuyen a los costos adicionales en clústeres aislados físicamente.
Pasos siguientes
Este artículo se centra en el aislamiento de clústeres. Para obtener más información sobre las operaciones de clúster en AKS, consulta los siguientes artículos de procedimientos recomendados:
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de Azure Kubernetes Service
Azure Kubernetes Service es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.