Saltar al contenido principal

Quiz Módulo 5 - Configuración y Secrets

Instrucciones​

Este quiz contiene 30 preguntas de opción múltiple.


Pregunta 1​

¿Qué es un ConfigMap?

Ver explicación

Respuesta correcta: Un objeto de Kubernetes que almacena datos de configuración no sensibles

Explicación: Los ConfigMaps permiten separar la configuración del código de la aplicación.


Pregunta 2​

¿Qué es un Secret en Kubernetes?

Ver explicación

Respuesta correcta: Un objeto de Kubernetes que almacena datos sensibles como contraseñas, tokens o llaves

Explicación: Los Secrets son similares a los ConfigMaps pero están diseñados para almacenar datos sensibles. Se almacenan en base64 (sin cifrado por defecto).


Pregunta 3​

¿Cómo crear un ConfigMap desde un archivo?

Ver explicación

Respuesta correcta: kubectl create configmap [name] --from-file=[file]

Explicación: El comando --from-file permite crear un ConfigMap desde un archivo, donde la clave será el nombre del archivo y el valor será el contenido del archivo.


Pregunta 4​

¿Cuál es el tamaño máximo de una entrada en un ConfigMap?

Ver explicación

Respuesta correcta: 1 MiB

Explicación: Cada entrada en un ConfigMap o Secret está limitada a 1 MiB. Para datos más grandes, utilice volúmenes.


Pregunta 5​

¿Cómo inyectar un ConfigMap como variable de entorno en un Pod?

Ver explicación

Respuesta correcta: envFrom: - configMapRef: name: [configmap-name]

Explicación: envFrom permite inyectar todas las claves de un ConfigMap como variables de entorno. Para una clave específica, use env con valueFrom.configMapKeyRef.


Pregunta 6​

¿Cómo montar un ConfigMap como volumen en un Pod?

Ver explicación

Respuesta correcta: volumes: - name: config configMap: name: [configmap-name]

Explicación: Para montar un ConfigMap como volumen, defínalo en la sección volumes del Pod y luego use volumeMounts para montarlo en el contenedor.


Pregunta 7​

¿Cuál es la principal diferencia entre un ConfigMap y un Secret?

Ver explicación

Respuesta correcta: Los Secrets están diseñados para datos sensibles y se almacenan en base64, los ConfigMaps para datos no sensibles

Explicación: Los Secrets están destinados a datos sensibles pero no están cifrados por defecto (solo codificados en base64). Los ConfigMaps son para datos no sensibles.


Pregunta 8​

¿Cómo crear un Secret desde literales?

Ver explicación

Respuesta correcta: kubectl create secret generic [name] --from-literal=[key]=[value]

Explicación: --from-literal permite crear un Secret directamente desde pares clave-valor en la línea de comandos.


Pregunta 9​

¿Cuál es la buena práctica para gestionar los secrets en producción?

Ver explicación

Respuesta correcta: Utilizar herramientas externas de gestión de secrets (Vault, AWS Secrets Manager) con External Secrets Operator

Explicación: Los secrets nunca deben ser comiteados en Git. Utilice herramientas externas como Vault o servicios cloud con External Secrets Operator para una gestión segura.


Pregunta 10​

¿Qué es el cifrado en reposo (encryption at rest) para los Secrets?

Ver explicación

Respuesta correcta: Una funcionalidad que cifra los Secrets en etcd utilizando una EncryptionConfig

Explicación: El cifrado en reposo permite cifrar los Secrets en etcd configurando una EncryptionConfig con proveedores de cifrado (AES, KMS, etc.).


Pregunta 11​

¿Qué comando permite ver el contenido de un Secret (decodificado)?

Ver explicación

Respuesta correcta: kubectl get secret [name] -o jsonpath='{.data.[key]}' | base64 -d

Explicación: Los Secrets se almacenan en base64. Para ver el contenido decodificado, use jsonpath para extraer el valor y base64 -d para decodificar.


Pregunta 12​

¿Qué es External Secrets Operator?

Ver explicación

Respuesta correcta: Un operador de Kubernetes que sincroniza los secrets desde sistemas externos (AWS Secrets Manager, Vault, etc.) hacia Kubernetes

Explicación: External Secrets Operator permite gestionar los secrets de forma centralizada en sistemas externos y sincronizarlos automáticamente hacia Kubernetes.


Pregunta 13​

¿Cuál es el método recomendado para inyectar un Secret en un Pod?

Ver explicación

Respuesta correcta: Utilizar envFrom con secretRef o env con valueFrom.secretKeyRef

Explicación: Los Secrets deben inyectarse mediante envFrom (todas las claves) o env con valueFrom.secretKeyRef (una clave específica), nunca hardcodeados.


Pregunta 14​

¿Cuál es la diferencia entre env y envFrom?

Ver explicación

Respuesta correcta: env permite inyectar variables individuales, envFrom inyecta todas las claves de un ConfigMap/Secret

Explicación: env permite un control preciso sobre cada variable, mientras que envFrom inyecta automáticamente todas las claves como variables de entorno.


Pregunta 15​

¿Cuál es la buena práctica para los permisos de un volumen Secret?

Ver explicación

Respuesta correcta: 0400 (solo lectura para el propietario)

Explicación: Los volúmenes de Secrets deben montarse en solo lectura (readOnly: true) con permisos restrictivos (defaultMode: 0400) por seguridad.


Pregunta 16​

¿Qué es un ConfigMap inmutable?

Ver explicación

Respuesta correcta: Un ConfigMap que no puede ser modificado después de su creación, mejorando el rendimiento y la seguridad

Explicación: Los ConfigMaps inmutables (immutable: true) no pueden modificarse, lo que reduce la carga en el API Server y mejora la seguridad.


Pregunta 17​

¿Cómo actualizar un ConfigMap usado por un Pod en ejecución?

Ver explicación

Respuesta correcta: Si está montado como volumen, debe reiniciar el Pod. Si se inyecta como env, debe recrear el Pod

Explicación: Los ConfigMaps montados como volúmenes se actualizan periódicamente, pero las variables de entorno inyectadas no cambian sin recrear el Pod.


Pregunta 18​

¿Cuál es el comando para crear un Secret desde un archivo?

Ver explicación

Respuesta correcta: kubectl create secret generic [name] --from-file=[key]=[file]

Explicación: --from-file permite crear un Secret desde un archivo, donde puede especificar la clave y el archivo fuente.


Pregunta 19​

¿Qué es la rotación de secrets?

Ver explicación

Respuesta correcta: El proceso de reemplazo periódico de los secrets por nuevos valores para la seguridad

Explicación: La rotación de secrets es una buena práctica de seguridad que consiste en cambiar regularmente contraseñas, tokens y llaves para limitar el impacto de una posible filtración.


Pregunta 20​

¿Cuál es la diferencia entre un Secret de tipo Opaque y un Secret de tipo TLS?

Ver explicación

Respuesta correcta: Opaque es para datos arbitrarios, TLS es específicamente para certificados TLS

Explicación: Los Secrets de tipo TLS tienen claves específicas (tls.crt, tls.key) y son utilizados por herramientas como cert-manager para certificados SSL/TLS.


Pregunta 21​

¿Cómo organizar los ConfigMaps por entorno?

Ver explicación

Respuesta correcta: Crear ConfigMaps separados por entorno (dev, staging, prod) con nombres diferentes

Explicación: La mejor práctica es crear ConfigMaps distintos para cada entorno, permitiendo una gestión clara y evitando errores de configuración.


Pregunta 22​

¿Cuál es el límite de tamaño total de un ConfigMap o Secret?

Ver explicación

Respuesta correcta: Limitado por etcd (generalmente 1.5 MiB por objeto)

Explicación: Aunque cada entrada está limitada a 1 MiB, el tamaño total de un ConfigMap o Secret está limitado por etcd, generalmente alrededor de 1.5 MiB.


Pregunta 23​

¿Qué es un volumen de tipo Secret?

Ver explicación

Respuesta correcta: Un volumen que monta los datos de un Secret como archivos en un Pod

Explicación: Los Secrets pueden montarse como volúmenes, donde cada clave se convierte en un archivo con el valor decodificado como contenido.


Pregunta 24​

¿Cuál es la buena práctica para los secrets en los YAML?

Ver explicación

Respuesta correcta: Nunca poner los secrets en texto claro, usar referencias (secretKeyRef) o herramientas externas

Explicación: Los secrets nunca deben estar en texto claro en los YAML, ni siquiera en base64. Utilice referencias o herramientas de gestión de secrets.


Pregunta 25​

¿Cómo utilizar un ConfigMap en un Deployment?

Ver explicación

Respuesta correcta: En el template Pod del Deployment, vía env, envFrom o volumes

Explicación: Los ConfigMaps se referencian en el template Pod (spec.template.spec) de un Deployment, vía env/envFrom para variables de entorno o volumes para archivos.


Pregunta 26​

¿Qué es un Service Account en el contexto de los Secrets?

Ver explicación

Respuesta correcta: Una identidad para los Pods que puede asociarse a Secrets para el acceso al API Server

Explicación: Los Service Accounts pueden tener imagePullSecrets para acceder a registries privados, pero no están directamente relacionados con los Secrets de la aplicación.


Pregunta 27​

¿Cuál es el comando para eliminar un ConfigMap?

Ver explicación

Respuesta correcta: kubectl delete configmap [name]

Explicación: kubectl delete es el comando estándar para eliminar cualquier recurso de Kubernetes, incluidos los ConfigMaps.


Pregunta 28​

¿Qué es un Secret de tipo docker-registry?

Ver explicación

Respuesta correcta: Un Secret que almacena las credenciales para acceder a un registro Docker privado

Explicación: Los Secrets de tipo docker-registry se utilizan como imagePullSecrets para permitir que los Pods descarguen imágenes desde registros privados.


Pregunta 29​

¿Cuál es la buena práctica para versionar los ConfigMaps?

Ver explicación

Respuesta correcta: Utilizar labels con números de versión y crear nuevos ConfigMaps para cada versión

Explicación: Versionar los ConfigMaps con labels permite rastrear los cambios y facilita los rollbacks al referenciar diferentes versiones.


Pregunta 30​

¿Cuál es la diferencia entre valueFrom.configMapKeyRef y valueFrom.secretKeyRef?

Ver explicación

Respuesta correcta: configMapKeyRef referencia una clave de un ConfigMap, secretKeyRef referencia una clave de un Secret

Explicación: Estas dos referencias funcionan de la misma manera pero apuntan a tipos de recursos diferentes: ConfigMap para datos no sensibles, Secret para datos sensibles.


Resultado del Quiz​

¡Felicidades por completar el quiz del Módulo 5!

Puntaje:

  • 25-30 respuestas correctas: ¡Excelente! Usted domina la configuración y los secrets.
  • 20-24 respuestas correctas: ¡Muy bien! Revise los conceptos donde tuvo dificultades.
  • 15-19 respuestas correctas: ¡Bien! Repase los capítulos sobre ConfigMaps y Secrets.
  • Menos de 15: Se recomienda repasar el módulo antes de continuar.

Quiz creado el: Diciembre 2024