Desplegar un Pod de Nginx en Kubernetes

KubernetesBeginner
Practicar Ahora

Introducción

En este desafío, se te encomendará la tarea de desplegar un pod de Kubernetes que ejecute la versión más reciente del servidor web Nginx. Tu objetivo es asegurar que el pod esté en funcionamiento y sea accesible a través de un servicio. Deberás crear un archivo YAML de Kubernetes para desplegar el pod y un servicio de tipo NodePort para exponer dicho pod de Nginx.

Este es un Desafío (Challenge), el cual difiere de un Laboratorio Guiado en que debes intentar completar la tarea de forma independiente, en lugar de seguir pasos de aprendizaje estructurados. Los desafíos suelen tener un nivel de dificultad mayor. Si encuentras dificultades, puedes consultarlo con Labby o revisar la solución. Los datos históricos muestran que este es un desafío de nivel principiante con una tasa de aprobación del 98%. Ha recibido una tasa de valoraciones positivas del 100% por parte de los estudiantes.

Desplegar el Pod de Nginx

Como nuevo ingeniero de DevOps, se te ha asignado el despliegue de un pod de Kubernetes que ejecute el servidor web Nginx más reciente. Tu meta es garantizar que el pod esté operativo y que se pueda acceder a él mediante un servicio.

Tareas

  • Crear un archivo YAML de Kubernetes para desplegar un pod que ejecute el contenedor de Nginx en su última versión.
  • Crear un servicio de tipo NodePort para exponer el pod de Nginx.

Requisitos

  • Crear el archivo YAML de Kubernetes en el directorio ~/project.
  • Nombrar el archivo YAML como nginx-pod.yaml.
  • La versión de la imagen del contenedor Nginx debe ser la última (latest).
  • El servicio debe ser de tipo NodePort.

Ejemplos

Ejemplo del contenido del archivo YAML:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: nginx
spec:
  containers:
    - name: nginx
      image: nginx:latest
      ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  type: placeholder
  ports:
    - port: 80
      targetPort: 80

Ejemplo de la URL de acceso al servicio:

http://<node-ip>:<node-port>

Consejos

  • Utiliza los comandos de kubectl para interactuar con el clúster de Kubernetes.
  • Asegúrate de que el pod esté en estado de ejecución y que el servicio lo esté exponiendo correctamente.
✨ Revisar Solución y Practicar

Resumen

En conclusión, este desafío requería el despliegue de un pod de Kubernetes con la versión más reciente de Nginx y la creación de un servicio para su exposición. Has aprendido a definir un pod y un servicio mediante un archivo YAML de Kubernetes, asegurando que el pod esté operativo y sea accesible a través de un servicio de tipo NodePort.