Categoría: Kubernetes

  • Escalado Automático en Kubernetes: Ajusta tus Aplicaciones a la Demanda

    Escalado Automático en Kubernetes: Ajusta tus Aplicaciones a la Demanda

    Introducción

    En un entorno cloud nativo, la demanda de recursos computacionales puede variar significativamente a lo largo del tiempo. Kubernetes ofrece mecanismos robustos para escalar automáticamente tus aplicaciones, asegurando que siempre tengas los recursos necesarios para satisfacer las necesidades de tus usuarios. En esta entrada, exploraremos el concepto de escalado automático en Kubernetes, sus diferentes tipos y cómo implementarlo de manera efectiva.

    ¿Qué es el Escalado Automático?

    El escalado automático es la capacidad de aumentar o disminuir automáticamente el número de réplicas de un despliegue (deployment) o estado (statefulset) en respuesta a cambios en la carga de trabajo o en las métricas definidas. Esto permite optimizar el uso de recursos, reducir costos y garantizar un alto nivel de disponibilidad.

    Tipos de Escalado Automático

    Kubernetes ofrece dos tipos principales de escalado automático:

    • Escalado Horizontal de Pods (HPA): Ajusta el número de réplicas de un despliegue basándose en métricas como la utilización de CPU o memoria. Es ideal para aplicaciones que experimentan picos de carga impredecibles.
    • Escalado Automático de Clúster: Ajusta el número de nodos en un clúster en respuesta a cambios en la demanda. Es útil para gestionar grandes clústeres con cargas de trabajo variables.

    Cómo Funciona el HPA

    1. Escalado: Si la utilización supera el umbral superior, se crean nuevas réplicas. Si la utilización cae por debajo del umbral inferior, se eliminan réplicas.
    2. Recopilación de métricas: Kubernetes recopila datos sobre el uso de CPU y memoria de los pods.
    3. Comparación con umbrales: Se compara la utilización actual con los umbrales definidos en la configuración del HPA.

    Configuración de un HPA

    Para configurar un HPA, puedes utilizar el comando kubectl autoscale o definirlo en un manifiesto YAML. Por ejemplo, para escalar un despliegue llamado “my-deployment” basado en la utilización de CPU:

    En este ejemplo:

    • minReplicas: Número mínimo de réplicas.
    • maxReplicas: Número máximo de réplicas.
    • averageUtilization: Porcentaje de utilización de CPU que desencadena el escalado.

    Consideraciones Adicionales

    • Métricas personalizadas: Puedes utilizar métricas personalizadas para el escalado, como el número de solicitudes por segundo o el tiempo de respuesta.
    • Retraso: El escalado automático no es instantáneo. Hay un cierto retraso entre el cambio en la carga de trabajo y la respuesta del escalador.
    • Costo: El escalado automático puede aumentar los costos si no se configura correctamente. Es importante establecer umbrales adecuados y monitorear el uso de recursos.
    • Estabilidad: Asegúrate de que tus aplicaciones puedan manejar cambios en el número de réplicas sin problemas.

    Conclusiones

    El escalado automático es una herramienta poderosa para gestionar la capacidad de tus aplicaciones en Kubernetes. Al configurar correctamente los HPAs, puedes optimizar el uso de recursos, mejorar el rendimiento y garantizar una alta disponibilidad.

  • Kubernetes: Port Forwarding

    Kubernetes: Port Forwarding

    Introducción

    El port forwarding en Kubernetes es una técnica esencial para desarrolladores y administradores de sistemas que desean acceder de forma directa a los servicios que se ejecutan dentro de los pods de un clúster. Esta funcionalidad permite redirigir el tráfico de un puerto local en tu máquina a un puerto específico dentro de un pod, facilitando así la depuración, las pruebas y la administración de aplicaciones. En esta guía, exploraremos en profundidad el concepto de port forwarding, sus usos más comunes y cómo implementarlo de manera efectiva.

    ¿Qué es el Port Forwarding en Kubernetes?

    El port forwarding establece una conexión TCP directa entre un puerto en tu máquina local y un puerto en un contenedor en ejecución dentro de un pod. Esto significa que cualquier solicitud que realices en tu máquina local en el puerto especificado será reenviada al contenedor correspondiente en el pod, y la respuesta será devuelta a tu máquina.

    ¿Por qué Utilizar Port Forwarding?

    • Depuración: Permite inspeccionar logs, depurar código y analizar el comportamiento de las aplicaciones en tiempo real.
    • Acceso a shells: Proporciona una forma sencilla de acceder a una shell interactiva dentro de un contenedor para ejecutar comandos.
    • Pruebas: Facilita la realización de pruebas locales sin necesidad de exponer los servicios al exterior.
    • Administración: Permite realizar tareas de administración como la configuración de bases de datos o la ejecución de scripts.

    Comandos Esenciales de Kubectl

    Antes de comenzar, asegúrate de tener kubectl instalado y configurado para interactuar con tu clúster Kubernetes. Algunos comandos útiles incluyen:

    • kubectl get pods: Lista todos los pods en ejecución.
    • kubectl describe pod <nombre-del-pod>: Muestra información detallada sobre un pod específico.
    • kubectl logs <nombre-del-pod>: Muestra los logs de un pod.

    Realizando Port Forwarding

    Para realizar port forwarding, utilizamos el comando kubectl port-forward. La sintaxis básica es la siguiente:

    • <nombre-del-pod>: El nombre del pod al que deseas conectarte.
    • <puerto-local>: El puerto en tu máquina local al que se redirigirá el tráfico.
    • <puerto-del-contenedor>: El puerto en el contenedor al que se desea conectar.

    Ejemplo:

    Este comando redirige el tráfico del puerto 8080 de tu máquina local al puerto 80 del contenedor dentro del pod llamado my-nginx-pod

    Ampliando el Ejemplo: Port Forwarding a Todas las Interfaces

    Para permitir conexiones entrantes desde cualquier interfaz de red en tu máquina, puedes utilizar el argumento --address en el comando kubectl port-forward. Esto te permitirá acceder al servicio desde cualquier máquina en la misma red, siempre y cuando conozcan la dirección IP de tu máquina.

    Ejemplo:

    Supongamos que deseas exponer el servicio Node.js de nuestro ejemplo anterior a todas las interfaces de tu máquina, utilizando el puerto 8080:

    • –address=0.0.0.0: Este argumento indica que se debe escuchar en todas las interfaces de red disponibles.

    Con esta configuración, podrás acceder a tu aplicación Node.js desde cualquier máquina de la red, usando la dirección IP de tu máquina y el puerto 8080. Por ejemplo, si la dirección IP de tu máquina es 192.168.1.100, podrás acceder a la aplicación en http://192.168.1.100:8080.

    Consideraciones Importantes:

    • Seguridad: Exponer un servicio a todas las interfaces de tu red puede comprometer la seguridad si no se toman las medidas adecuadas. Asegúrate de que tu red esté protegida por un firewall y que solo las máquinas autorizadas puedan acceder al servicio.
    • Conflictos de puertos: Si ya tienes otro servicio escuchando en el puerto 8080 en tu máquina, el port forwarding podría fallar o causar conflictos. Asegúrate de elegir un puerto libre.
    • Duración: El port forwarding se mantiene activo mientras el comando kubectl port-forward esté en ejecución. Si lo interrumpes, la conexión se cerrará.

    Otro Ejemplo: Especificando una Interfaz Específica

    Si deseas limitar el acceso a una interfaz de red específica, puedes utilizar la dirección IP de esa interfaz en lugar de 0.0.0.0. Por ejemplo, si deseas escuchar solo en la interfaz eth0:

    Consideraciones Adicionales

    • Port forwarding estático: Para establecer un port forwarding de forma más permanente, puedes utilizar herramientas como kubectl proxy o configurar un servicio de tipo NodePort.
    • Seguridad: Ten en cuenta que el port forwarding expone los servicios de tu pod directamente a tu máquina local. Utiliza firewalls y otras medidas de seguridad para proteger tu entorno.
    • Múltiples contenedores: Si un pod tiene múltiples contenedores, puedes especificar el nombre del contenedor después del nombre del pod en el comando kubectl port-forward.

    Conclusión

    El port forwarding es una herramienta invaluable para desarrolladores y administradores de Kubernetes. Al comprender cómo funciona y cómo utilizarlo de manera efectiva, puedes mejorar significativamente tu flujo de trabajo y facilitar la resolución de problemas.

  • Cómo Integrar ExternalDNS con Cloudflare y Traefik v3 en Kubernetes

    Cómo Integrar ExternalDNS con Cloudflare y Traefik v3 en Kubernetes

    La integración de ExternalDNS con Traefik v3 en Kubernetes es una combinación poderosa que facilita la gestión automática de registros DNS para los servicios desplegados en tu clúster. En esta guía detallada, te mostraremos cómo configurar esta integración paso a paso.

    1. Introducción a ExternalDNS y Traefik

    ExternalDNS es una herramienta que actualiza automáticamente los registros DNS en tu proveedor DNS cuando cambian los servicios en tu clúster de Kubernetes. Traefik es un proxy inverso y balanceador de carga que simplifica la gestión de rutas y servicios en Kubernetes.

    2. Prerrequisitos

    Antes de comenzar, asegúrate de tener lo siguiente:

    • Un clúster de Kubernetes en funcionamiento.
    • Traefik v3 instalado en tu clúster.
    • Un dominio gestionado por un proveedor de DNS compatible con ExternalDNS, en este caso Cloudflare.
    • kubectl configurado para interactuar con tu clúster.

    3. Instalación de ExternalDNS

    Primero, instalaremos ExternalDNS usando Helm, un gestor de paquetes para Kubernetes.

    Luego, creamos un archivo values.yaml para personalizar la instalación de ExternalDNS:

    Instalamos ExternalDNS con Helm usando el archivo values.yaml:

    4. Configuración de Traefik v3

    Asegúrate de tener Traefik v3 instalado y configurado. Puedes instalarlo usando Helm también:

    5. Configuración de IngressRoutes en Traefik

    Para que ExternalDNS funcione con Traefik, necesitamos configurar IngressRoutes. Aquí hay un ejemplo básico:

    Hay que tener en cuenta que en el caso de Traefik, externaldns no crea un registro DNS tipo A, sino un registro CNAME, y el valor de ese CNAME registro es el valor de external-dns.alpha.kubernetes.io/target

    6. Verificación de la Configuración

    Después de aplicar la configuración, verifica que ExternalDNS esté creando los registros DNS correspondientes.

    Deberías ver registros que indiquen que ExternalDNS está sincronizando registros DNS.

    Deberías ver registros que indiquen que ExternalDNS está sincronizando registros DNS.

    7. Solución de Problemas Comunes

    • Permisos de API: Asegúrate de que tu token de API de Cloudflare tenga los permisos necesarios.
    • Configuración de DNS: Verifica que tu proveedor DNS esté correctamente configurado en el archivo values.yaml.
    • Logs de ExternalDNS: Revisa los logs de ExternalDNS para identificar problemas específicos.

    8. Beneficios de la Integración

    Integrar ExternalDNS con Traefik proporciona varios beneficios:

    • Automatización: Los registros DNS se actualizan automáticamente cuando cambian los servicios en Kubernetes.
    • Simplificación: Menos configuraciones manuales y errores.
    • Escalabilidad: Ideal para entornos de producción con múltiples servicios.

    9. Mejoras Adicionales

    • Monitoreo: Implementa monitoreo para ExternalDNS y Traefik usando herramientas como Prometheus y Grafana.
    • Seguridad: Asegúrate de que las conexiones entre componentes sean seguras.

    Conclusiones

    La integración de ExternalDNS con Traefik v3 en Kubernetes mejora significativamente la eficiencia y la gestión de los registros DNS en tu clúster. Automatiza procesos y reduce errores, proporcionando una solución robusta y escalable.

    Recursos Adicionales

  • Instalación de Traefik v3 con Helm y Terraform en Kubernetes

    Instalación de Traefik v3 con Helm y Terraform en Kubernetes

    En esta guía, aprenderás a instalar y configurar Traefik v3 en un cluster de Kubernetes utilizando Helm y Terraform. Esta combinación permite automatizar la infraestructura y la configuración del servicio de proxy inverso y balanceador de carga de Traefik.

    1. Introducción a Helm y Terraform

    Helm es un gestor de paquetes para Kubernetes que facilita la instalación y actualización de aplicaciones en un cluster.

    Terraform es una herramienta de infraestructura como código (IaC) que permite definir y gestionar la infraestructura de manera declarativa.

    2. Requisitos Previos

    Antes de comenzar, asegúrate de tener:

    • Un cluster de Kubernetes en funcionamiento.
    • kubectl configurado para interactuar con tu cluster.
    • Helm instalado.
    • Terraform instalado.
    • Permisos necesarios para crear recursos en el cluster.

    3. Instalación de Helm

    Si aún no tienes Helm instalado, sigue estos pasos:

    Paso 1: Descargar Helm

    Paso 2: Verificar la Instalación

    Esto debería mostrar la versión de Helm instalada.

    4. Instalación de Terraform

    Si aún no tienes Terraform instalado, sigue estos pasos:

    Paso 1: Descargar Terraform

    Paso 2: Verificar la Instalación

    Esto debería mostrar la versión de Terraform instalada.

    5. Instalación de Traefik v3 usando Helm y Terraform

    Paso 1: Crear un Archivo de Configuración de Terraform

    Crea un directorio para tu configuración de Terraform y dentro de él un archivo llamado main.tf:

    Paso 2: Inicializar y Aplicar la Configuración de Terraform

    Esto inicializará tu directorio de trabajo de Terraform y aplicará la configuración, instalando Traefik v3 en tu cluster de Kubernetes.

    6. Verificación de la Instalación de Traefik

    Verificar el Pod de Traefik

    Asegúrate de que los pods de Traefik estén en estado Running.

    Verificar el Servicio de Traefik

    Busca el servicio de tipo LoadBalancer y verifica que tenga una dirección IP externa asignada.

    7. Configuración Adicional de Traefik

    Traefik v3 ofrece numerosas opciones de configuración para adaptarse a tus necesidades específicas.

    Configuración de IngressRoute

    Aquí tienes un ejemplo de configuración de un recurso IngressRoute:

    Aplica este recurso en tu cluster:

    8. Conclusión

    La instalación de Traefik v3 en Kubernetes usando Helm y Terraform proporciona una forma automatizada y eficiente de gestionar tu infraestructura y configuración. Siguiendo estos pasos, puedes desplegar y configurar Traefik para gestionar el tráfico hacia tus aplicaciones de manera eficaz.

  • Instalación de Helm en Kubernetes: Guía Completa

    Instalación de Helm en Kubernetes: Guía Completa

    Helm es un gestor de paquetes para Kubernetes que facilita la implementación, actualización y gestión de aplicaciones en un cluster. En esta guía, aprenderás cómo instalar Helm en tu entorno Kubernetes y cómo utilizarlo para gestionar tus aplicaciones.

    1. ¿Qué es Helm?

    Helm es una herramienta que simplifica la administración de aplicaciones en Kubernetes. Funciona como un gestor de paquetes, similar a apt para Ubuntu o yum para CentOS, pero específicamente para Kubernetes.

    Algunos beneficios de usar Helm incluyen:

    • Despliegue Fácil: Instala y actualiza aplicaciones complejas con un solo comando.
    • Gestión de Versiones: Mantén versiones específicas de tus aplicaciones.
    • Rollback: Facilita la reversión a versiones anteriores si algo sale mal.
    • Configuración Consistente: Proporciona una forma declarativa de configurar y gestionar aplicaciones.

    2. Requisitos Previos

    Antes de instalar Helm, asegúrate de tener:

    3. Instalación de Helm

    Paso 1: Descargar el Script de Instalación

    Helm proporciona un script para facilitar su instalación. Ejecuta el siguiente comando para descargar y ejecutar el script de instalación:

    Paso 2: Verificar la Instalación

    Una vez completada la instalación, verifica que Helm se haya instalado correctamente ejecutando:

    Deberías ver la versión de Helm instalada.

    4. Configuración de Helm

    Paso 1: Inicializar Helm

    Helm ya no requiere un Tiller en el cluster para operar (a diferencia de Helm 2). Por lo tanto, no necesitas inicializar Helm en el cluster.

    Paso 2: Agregar Repositorios de Charts

    Helm utiliza repositorios de charts para encontrar aplicaciones que se pueden instalar. Puedes agregar un repositorio de charts oficial utilizando el siguiente comando:

    Actualiza la lista de charts disponibles:

    5. Instalación de Aplicaciones con Helm

    Para demostrar cómo usar Helm, instalaremos una aplicación simple, como nginx.

    Paso 1: Buscar un Chart

    Busca el chart de nginx en los repositorios añadidos:

    Paso 2: Instalar el Chart

    Instala nginx usando Helm:

    Este comando instala nginx en tu cluster de Kubernetes con el nombre my-nginx.

    Paso 3: Verificar la Instalación

    Verifica que los recursos se hayan creado correctamente:

    Deberías ver los pods, servicios y otros recursos relacionados con nginx.

    6. Gestión de Aplicaciones con Helm

    Actualización de Aplicaciones

    Para actualizar una aplicación instalada con Helm:

    Desinstalación de Aplicaciones

    Para desinstalar una aplicación instalada con Helm:

    Este comando elimina todos los recursos creados por Helm para la aplicación my-nginx.

    7. Configuración Avanzada de Helm

    Helm permite personalizar las instalaciones mediante el uso de archivos de valores.

    Crear un Archivo de Valores

    Crea un archivo de valores llamado values.yaml:

    Instalar con un Archivo de Valores Personalizado

    Instala nginx utilizando el archivo de valores personalizado:

    8. Conclusión

    Helm es una herramienta poderosa para la gestión de aplicaciones en Kubernetes. Facilita el despliegue, actualización y administración de aplicaciones complejas mediante el uso de charts. Siguiendo esta guía, has aprendido a instalar Helm y a utilizarlo para gestionar aplicaciones en tu cluster de Kubernetes.

  • Entendiendo los Contextos en Kubernetes: Qué Son y Cómo Usarlos

    Entendiendo los Contextos en Kubernetes: Qué Son y Cómo Usarlos

    Kubernetes es una herramienta poderosa para la orquestación de contenedores, y manejar múltiples clusters puede volverse complejo rápidamente. Aquí es donde entran en juego los contextos de Kubernetes. Esta guía te ayudará a entender qué son los contextos en Kubernetes, para qué se utilizan y cómo gestionarlos eficazmente.

    ¿Qué son los Contextos en Kubernetes?

    En Kubernetes, un contexto es una combinación de configuración que especifica el cluster, el usuario y el namespace que se utilizan para interactuar con el API server de Kubernetes. Los contextos permiten cambiar fácilmente entre diferentes entornos de trabajo (clusters y namespaces) sin tener que modificar repetidamente la configuración del cliente.

    Un contexto en Kubernetes está definido por:

    • Cluster: La instancia de Kubernetes con la que deseas interactuar.
    • Usuario: Las credenciales utilizadas para autenticarte en el cluster.
    • Namespace: El espacio de nombres predeterminado en el que operarán tus comandos.

    ¿Para Qué se Usan los Contextos?

    Los contextos se usan para:

    • Gestionar múltiples clusters: Facilitan la administración de varios clusters desde un solo archivo de configuración (kubeconfig).
    • Cambiar de entorno rápidamente: Permiten alternar entre diferentes entornos (desarrollo, pruebas, producción) de forma sencilla.
    • Aumentar la seguridad: Ayudan a evitar errores operacionales al asegurar que los comandos se ejecutan en el cluster y namespace correctos.

    Configuración del Archivo Kubeconfig

    El archivo kubeconfig es donde se almacenan todas las configuraciones de los contextos. Por defecto, este archivo se encuentra en ~/.kube/config.

    Ejemplo de Archivo Kubeconfig:

    En este archivo, se definen dos clusters (cluster1 y cluster2), dos usuarios (user1 y user2), y dos contextos (context1 y context2). El contexto actual es context1.

    Gestionando Contextos con kubectl

    kubectl es la herramienta de línea de comandos para interactuar con Kubernetes. Puedes gestionar contextos fácilmente utilizando kubectl.

    Listar Contextos

    Para listar los contextos disponibles:

    Este comando muestra todos los contextos configurados en tu archivo kubeconfig.

    Cambiar de Contexto

    Para cambiar al contexto context2:

    Este comando cambia el contexto actual a context2.

    Ver el Contexto Actual

    Para ver el contexto actual:

    Este comando muestra el contexto que está actualmente en uso.

    Crear un Nuevo Contexto

    Para crear un nuevo contexto:

    Este comando crea un nuevo contexto llamado my-new-context que usa cluster1, user1, y el namespace my-namespace.

    Usos Comunes de los Contextos

    • Desarrollo y Pruebas: Cambiar rápidamente entre entornos de desarrollo y pruebas.
    • Multi-cluster Management: Administrar varios clusters de Kubernetes desde una sola configuración.
    • Acceso Controlado: Asignar diferentes usuarios a distintos clusters y namespaces para controlar el acceso.

    Buenas Prácticas

    • Nombrado Consistente: Utiliza nombres descriptivos para los contextos, clusters y usuarios.
    • Seguridad: Mantén los certificados y claves de cliente en ubicaciones seguras.
    • Documentación: Documenta los contextos y configuraciones para facilitar la gestión y resolución de problemas.

    Ejemplo Práctico: Cambio de Contextos

    Supongamos que tienes dos clusters: uno para desarrollo (dev-cluster) y otro para producción (prod-cluster). Quieres cambiar entre estos clusters dependiendo de la tarea que estés realizando.

    Configuración Inicial

    Primero, configura los clusters y usuarios en tu archivo kubeconfig:

    Cambiar al Contexto de Producción

    Para cambiar al contexto de producción:

    Ahora, cualquier comando de kubectl se ejecutará en el cluster de producción.

    Conclusión

    Los contextos en Kubernetes son una herramienta esencial para gestionar múltiples clusters y entornos de manera eficiente. Permiten cambiar fácilmente entre diferentes configuraciones sin tener que modificar manualmente tu archivo kubeconfig cada vez. Al seguir las buenas prácticas y utilizar las herramientas proporcionadas por kubectl, puedes mejorar significativamente tu flujo de trabajo y la seguridad de tu entorno de Kubernetes.

  • Introducción a Kubernetes: Desplegando tu Primer Pod

    Introducción a Kubernetes: Desplegando tu Primer Pod

    Kubernetes se ha convertido en la plataforma estándar para la orquestación de contenedores. Permite gestionar aplicaciones en contenedores de manera automática, escalable y eficiente. En esta guía, aprenderás cómo desplegar tu primer Pod en un cluster de Kubernetes, cubriendo desde la instalación hasta la verificación del despliegue.

    1. ¿Qué es Kubernetes?

    Kubernetes es un sistema de código abierto para la automatización de la implementación, el escalado y la gestión de aplicaciones en contenedores. Fue desarrollado por Google y donado a la Cloud Native Computing Foundation (CNCF). Sus componentes principales incluyen:

    • Pod: La unidad más pequeña y simple en Kubernetes, que puede contener uno o varios contenedores.
    • Node: Un servidor físico o virtual que ejecuta pods.
    • Cluster: Un conjunto de nodes gestionados por Kubernetes.

    2. Preparativos para el Despliegue

    Antes de empezar, necesitas un cluster de Kubernetes. Puedes usar Minikube para crear un cluster local o un servicio gestionado como Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS) o Azure Kubernetes Service (AKS). En esta guía, usaremos Minikube.

    Instalación de Minikube
    • Instalar Minikube: Sigue las instrucciones específicas para tu sistema operativo desde Minikube.
    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
    sudo install minikube-linux-amd64 /usr/local/bin/minikube
    
    • Iniciar Minikube:
    minikube start
    

    Este comando inicia un cluster local de Kubernetes en una máquina virtual.

    • Verificar la instalación:

    La salida debe mostrar un node en estado Ready.

    3. Desplegando tu Primer Pod

    Un Pod es la unidad de despliegue básica en Kubernetes. Vamos a crear un Pod que ejecute una instancia de Nginx.

    Crear un Archivo de Configuración YAML

    Crea un archivo llamado nginx-pod.yaml con el siguiente contenido:

    Este archivo define un Pod llamado nginx-pod que ejecuta el contenedor Nginx en el puerto 80.

    Aplicar el Archivo de Configuración

    Usa kubectl para crear el Pod a partir del archivo YAML:

    Este comando crea el Pod en el cluster de Kubernetes.

    4. Verificar el Despliegue

    Para asegurarte de que el Pod se ha creado correctamente, usa:

    Deberías ver nginx-pod con el estado Running.

    5. Acceder al Pod

    Para acceder al Nginx que se está ejecutando en el Pod, necesitas exponer el Pod. Esto se puede hacer mediante el comando kubectl port-forward:

    Ahora, puedes abrir tu navegador y visitar http://localhost:8080 para ver la página de bienvenida de Nginx.

    6. Limpieza

    Para eliminar el Pod, usa:

    Este comando eliminará el Pod del cluster.

    7. Conclusión

    Desplegar un Pod en Kubernetes es el primer paso para aprovechar las capacidades avanzadas de esta plataforma de orquestación. Ahora que has desplegado y accedido a tu primer Pod, puedes explorar características más avanzadas como despliegues, servicios y configuración de volúmenes persistentes.