Refuerzo de Pods con securityContext
Incorpore valores predeterminados de mínimo privilegio en las plantillas.
Refuerzo de Pods con securityContext es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Por qué debe reforzar la seguridad de forma predeterminada
Un chart que se distribuye con valores predeterminados de mínimo privilegio protege cada clúster en el que se instala. Incorporar la seguridad en las plantillas es mejor que esperar que las personas recuerden añadirla.
Dos niveles de securityContext
Puede establecer un securityContext en el nivel del pod para todos los contenedores y otro más específico para cada contenedor. La configuración del contenedor prevalece sobre la del pod para ese contenedor.
No ejecute como root
Establezca runAsNonRoot en true para que Kubernetes se niegue a iniciar un contenedor que se ejecutaría como root. Es el valor predeterminado de mayor impacto en seguridad que puede incluir.
securityContext:
runAsNonRoot: true
runAsUser: 1000Sistema de archivos raíz de solo lectura
Active readOnlyRootFilesystem para impedir que el contenedor escriba en sus propias capas de imagen. Monte un emptyDir para las rutas en las que la aplicación realmente necesite escribir.
containers:
- name: app
securityContext:
readOnlyRootFilesystem: trueElimine las capacidades de Linux
La mayoría de las aplicaciones no necesita privilegios especiales del kernel, así que elimine ALL las capacidades y vuelva a añadir únicamente la que una carga de trabajo necesite de verdad en casos excepcionales.
capabilities:
drop:
- ALLBloquee la escalada de privilegios
Establezca allowPrivilegeEscalation en false para que un proceso nunca pueda obtener más privilegios de los que tenía al iniciarse, ni siquiera mediante binarios setuid. 🔒
allowPrivilegeEscalation: falseEstablezca fsGroup
Utilice fsGroup en el securityContext del pod para que los volúmenes montados pertenezcan a un grupo al que pertenezca el usuario no root y evitar errores de permisos.
securityContext:
fsGroup: 2000No establezca privileged en True
Un contenedor privileged tiene acceso casi total al host y, en esencia, nunca debería aparecer en los valores predeterminados de un chart. Déjelo sin establecer, lo que equivale a false.
Permita modificaciones
Conecte el securityContext con los values mediante toYaml para que las personas usuarias puedan ajustarlo, pero mantenga la configuración reforzada como valores predeterminados seguros.
securityContext:
{{- toYaml .Values.securityContext | nindent 4 }}Alinee el chart con los estándares de seguridad de pods
Estos valores predeterminados corresponden al estándar de seguridad de pods restricted de Kubernetes, por lo que su chart se instala correctamente incluso en espacios de nombres estrictamente protegidos.
Verifique después de la instalación
Confirme que el refuerzo de seguridad se aplicó inspeccionando la especificación del pod en ejecución con kubectl get pod -o yaml y comprobando los campos de securityContext.
kubectl get pod myapp -o jsonpath='{.spec.securityContext}'Comprobación rápida
¿Qué configuración impide que un contenedor se inicie si se ejecutaría como el usuario root?
Resumen
Ha reforzado los pods con runAsNonRoot, ha eliminado capacidades, ha configurado un sistema de archivos de solo lectura y ha desactivado la escalada de privilegios. Los valores predeterminados seguros protegen cada instalación. ✅
Preguntas frecuentes
¿La lección «Refuerzo de Pods con securityContext» es gratis?
Sí — el texto completo de «Refuerzo de Pods con securityContext» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Refuerzo de Pods con securityContext»?
Incorpore valores predeterminados de mínimo privilegio en las plantillas. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Refuerzo de Pods con securityContext»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Etiquetas estándar y convenciones de nomenclatura
- Valores predeterminados sensatos y documentados
- Refuerzo de Pods con securityContext
- Fijación de versiones y evitación de latest