
Aislamiento
- Físico: Se implementan múltiples clústeres para separar el entorno de la aplicación, como Desarrollo, Escalonamiento y Producción.
- Lógico: Con el aislamiento lógico, un único clúster AKS se puede utilizar para varias cargas de trabajo, equipos o entornos. Los espacios de nombres de Kubernetes se utilizan para definir diferentes entornos y asignar recursos en consecuencia.
Especificación de la cuota:
- Cuota de recursos: Defina la cuota de CPU, Memoria, Número total de volumen o espacio en el disco, Número total de secretos, tareas, etc. a nivel de espacio de nombres para reservar y limitar los recursos.
- La solicitud y los límites se especifican en el despliegue del pod.
Disponibilidad:
- Interrupciones involuntarias: Esto incluye las fallas de hardware en las máquinas físicas. Esto puede mitigarse utilizando conjuntos de réplicas y múltiples nodos.
- Interrupciones voluntarias: Esto incluye las actualizaciones del Cluster, despliegues de actualizaciones, borrado accidental de contenedores. Se puede mitigar utilizando PodDisruptionBudget. Si se va a actualizar un cluster o una plantilla de despliegue, el programador de Kubernetes se asegura de que los pods adicionales se programen en otros nodos. El programador espera antes de reiniciar un nodo hasta que el número definido de pods esté programado con éxito en otros nodos del clúster.
Distribución:
- Taints y Tolerations: Define las tolerancias en los pods para programar los pods sólo en un nodo específico definido.
- Etiquetas: Los selectores de nodo y la afinidad de nodo se siguen para programar los pods en los nodos.
Acceso:
Azure AD Authentication, RBAC, Pod managed Identities se aprovechan para definir los niveles de acceso del Cluster a los usuarios correspondientes.
Versión y actualizaciones:
Mantenga la última versión de las actualizaciones de AKS y Nodos compatibles.
Seguridad de la imagen:
- Utilice los registros privados y cree nuevas imágenes a partir de las imágenes base oficiales.
- Aproveche la seguridad de los contenedores en el Centro de Seguridad.
Exposición de credenciales:
Define los secretos y el uso de Azure Key Vault para controlar la exposición de credenciales.
Red:
- Uso de Kubenet y Azure CNI
- Distribuye las peticiones HTTP/S mediante controladores de entrada.
- Utilice el Application Gateway junto con el WAF para proporcionar una capa extra de seguridad.
Monitorización y depuración:
- Utilice las métricas e información en Azure para monitorear las cargas de trabajo y establecer las alertas correspondientes.
- Utilice una solución de monitoreo de métricas de código abierto como Prometheus.
- Ejecute regularmente la última versión de la herramienta de código abierto kube-advisor para detectar problemas en el clúster.