Procedimientos recomendados para el aislamiento de clústeres en Azure Kubernetes Service (AKS)

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:

Scheduling

La programación utiliza funciones básicas como cuotas de recursos y presupuestos de interrupción de pod. Para más información acerca de estas características, consulte Procedimientos recomendados para características básicas del programador en Azure Kubernetes Service (AKS).

Las siguientes son algunas de las características más avanzadas del programador:

  • Intolerancias y tolerancias.
  • Selectores de nodos.
  • Afinidad o antiafinidad de nodos y pods.

Para más información acerca de estas características, consulte Procedimientos recomendados para características avanzadas del programador en Azure Kubernetes Service (AKS).

Redes

Las redes usan directivas de red para controlar el flujo de tráfico de entrada y salida de pods.

Autenticación y autorización

Usos de la autenticación y autorización:

  • Control de acceso basado en roles (RBAC).
  • Integración de Microsoft Entra.
  • Identidades de pod.
  • Secretos en Azure Key Vault.

Para más información sobre estas características, consulte Procedimientos recomendados para la autenticación y autorización en Azure Kubernetes Service (AKS).

Contenedores

Los contenedores incluyen:

  • 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.

Logical isolation of a Kubernetes cluster in AKS

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.

Physical isolation of individual Kubernetes clusters in AKS

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: