Skip to content

Cuestionario de introducción a Kubernetes

Este cuestionario evalúa tu comprensión de los conceptos básicos, la arquitectura y las características de Kubernetes.

Preguntas de opción múltiple

  1. ¿Qué significa el nombre Kubernetes en griego?
    • A) Capitán
    • B) Timonel o Piloto
    • C) Contenedor
    • D) Administrador
Mostrar respuesta

Respuesta: B) Timonel o Piloto

Explicación: Kubernetes significa 'timonel' o 'piloto' en griego, lo que simboliza su función de guiar aplicaciones en contenedores.

  1. ¿Cuál de los siguientes NO es un componente del control plane de Kubernetes?
    • A) kube-apiserver
    • B) etcd
    • C) kubelet
    • D) kube-scheduler
Mostrar respuesta

Respuesta: C) kubelet

Explicación: kubelet es un agente que se ejecuta en cada node y no es un componente del control plane.

  1. ¿Cuál es la unidad desplegable más pequeña en Kubernetes?
    • A) Container
    • B) Pod
    • C) Deployment
    • D) Service
Mostrar respuesta

Respuesta: B) Pod

Explicación: Un Pod es la unidad desplegable más pequeña en Kubernetes.

  1. ¿Cuál de los siguientes NO es un tipo de Service de Kubernetes?
    • A) ClusterIP
    • B) NodePort
    • C) LoadBalancer
    • D) ExternalProxy
Mostrar respuesta

Respuesta: D) ExternalProxy

Explicación: Los tipos de Service incluyen ClusterIP, NodePort, LoadBalancer y ExternalName.

  1. ¿Qué recurso administra el número de réplicas de Pod?
    • A) Service
    • B) ConfigMap
    • C) ReplicaSet
    • D) Namespace
Mostrar respuesta

Respuesta: C) ReplicaSet

Explicación: ReplicaSet garantiza que siempre se ejecute un número especificado de réplicas de Pod.

  1. ¿Qué recurso de workload está diseñado para aplicaciones con estado?
    • A) Deployment
    • B) StatefulSet
    • C) DaemonSet
    • D) Job
Mostrar respuesta

Respuesta: B) StatefulSet

Explicación: StatefulSet proporciona identificadores únicos y almacenamiento persistente para aplicaciones con estado.

  1. ¿Qué recurso garantiza que un Pod se ejecute en todos los nodes?
    • A) Deployment
    • B) StatefulSet
    • C) DaemonSet
    • D) CronJob
Mostrar respuesta

Respuesta: C) DaemonSet

Explicación: DaemonSet garantiza que una copia de un Pod se ejecute en todos los nodes (o en nodes específicos).

  1. ¿Qué recurso ejecuta tareas periódicamente según una programación?
    • A) Job
    • B) CronJob
    • C) Deployment
    • D) ReplicaSet
Mostrar respuesta

Respuesta: B) CronJob

Explicación: CronJob ejecuta Jobs periódicamente según una programación especificada.

  1. ¿Qué proporciona aislamiento de recursos dentro de un cluster?
    • A) Label
    • B) Annotation
    • C) Namespace
    • D) ConfigMap
Mostrar respuesta

Respuesta: C) Namespace

Explicación: Namespace proporciona una forma de aislar grupos de recursos dentro de un único cluster.

  1. ¿Cuál NO es una diferencia clave entre EKS y Kubernetes autogestionado?
    • A) Gestión del control plane
    • B) API principal de Kubernetes
    • C) Configuración de alta disponibilidad
    • D) Aplicación de parches de seguridad
Mostrar respuesta

Respuesta: B) API principal de Kubernetes

Explicación: Ambos usan la misma API estándar de Kubernetes.

Preguntas de respuesta corta

  1. ¿Qué almacén clave-valor guarda todos los datos del cluster?
Mostrar respuesta

Respuesta: etcd

  1. ¿Qué componente selecciona un node para los Pods recién creados?
Mostrar respuesta

Respuesta: kube-scheduler

  1. ¿Qué tipo de volumen temporal se elimina cuando se elimina el Pod?
Mostrar respuesta

Respuesta: emptyDir

  1. ¿Qué objeto almacena datos de configuración en formato clave-valor?
Mostrar respuesta

Respuesta: ConfigMap

  1. ¿Qué objeto almacena información sensible como contraseñas?
Mostrar respuesta

Respuesta: Secret

Preguntas prácticas

  1. Escribe un YAML de Deployment para nginx con 3 réplicas.
Mostrar respuesta
yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.21
        ports:
        - containerPort: 80
  1. Escribe un YAML de Service LoadBalancer.
Mostrar respuesta
yaml
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: LoadBalancer
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: nginx
  1. Escribe un YAML de ConfigMap con DATABASE_URL y LOG_LEVEL.
Mostrar respuesta
yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
  DATABASE_URL: "mysql://localhost:3306/db"
  LOG_LEVEL: "INFO"

Preguntas avanzadas

  1. Escribe un Role/RoleBinding de RBAC para conceder acceso de lectura a pods.
Mostrar respuesta
yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: development
  name: pod-reader
rules:
- apiGroups: [""]
  resources: ["pods", "pods/log"]
  verbs: ["get", "watch", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods
  namespace: development
subjects:
- kind: User
  name: jane
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io
  1. Escribe una NetworkPolicy que permita solo tráfico de backend a database en el puerto 3306.
Mostrar respuesta
yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: db-network-policy
spec:
  podSelector:
    matchLabels:
      role: database
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          role: backend
    ports:
    - protocol: TCP
      port: 3306

Volver a los materiales de estudio | Siguiente cuestionario: arquitectura de cluster