Uso de Kubernetes Port, TargetPort y NodePort

Uso de Kubernetes Port, TargetPort y NodePort

  • ITOps y DevOps
6 min de lectura Actualizado Jul 2, 2025

Puntos clave: Kubernetes utiliza configuraciones Port, TargetPort y NodePort para gestionar aplicaciones contenedorizadas. Port expone servicios dentro del clúster, TargetPort dirige las solicitudes a puertos pod específicos y NodePort proporciona acceso externo a través de la dirección IP del nodo.

  • Kubernetes automatiza la gestión, escalado y monitorización de contenedores.
  • Comprender las configuraciones de los puertos es crucial para un despliegue y gestión eficaz de aplicaciones.

Kubernetes y puertos

Kubernetes están una herramienta de código abierto que orquesta aplicaciones contenedorizadas. La herramienta Kubernetes se asegura de que los contenedores son funcionando correctamente al monitorizar pods entre diferentes servidores o nodos. Gestiona automáticamente las respuestas a fallos de contenedores, reiniciando o reemplazando pods cuando es necesario. Los escala hacia arriba o abajo según la demanda y distribuye la carga de cómputo entre contenedores para equilibrar el trabajo. Elimina el trabajo manual de gestionar, escalar y mantener aplicaciones grandes y complejas. Kubernetes utiliza redes, incluidos puertos y servicios, para facilitar la comunicación entre pods y otros recursos.

Configuraciones de puertos Kubernetes Services: Puerto vs TargetPort vs NodePort

En Kubernetes son varias configuraciones de puertos diferentes para los servicios Kubernetes:

  • El puerto expone el servicio Kubernetes en el puerto especificado dentro del clúster. Otros pods dentro del clúster pueden comunicarse con este servidor en el puerto especificado.
  • TargetPort están el puerto al que el servicio enviará las peticiones, y en el que tu pod estará escuchando. Tu aplicación en el contenedor también tendrá que estar escuchando en este puerto.
  • NodePort expone un servicio externamente al clúster mediante la dirección IP de los nodos objetivo y el NodePort. NodePort está la configuración predeterminada si el campo de puerto no está especificado.

Veamos cómo utilizar estos puertos en tu manifiesto de Kubernetes.

Uso de puerto, puerto objetivo y nodeport en Kubernetes

    apiVersion: v1
kind: Service
metadata:
name: hello-world
spec:
type: NodePort
selector:
app: hello-world
ports:
- protocol: TCP
port: 8080
targetPort: 80
nodePort: 30036

A partir de los ejemplos anteriores, el servicio hello-world estará expuesto internamente a aplicaciones del clúster en el puerto 8080 y externamente al clúster en la dirección IP del nodo en 30036. También reenviará las solicitudes a pods con la etiqueta "app: hello-world" en el puerto 80. La configuración de los ajustes anteriores puede verificarse con el comando:

    $ kubectl describe service hello-world
Descripción del servicio Kubernetes NodePort

Crea un pod ejecutando nginx al que el servicio reenvíe las solicitudes a:

    apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: hello-world
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80

Para probar y demostrar la configuración anterior, podemos Crea un pod ejecutando un contenedor de Ubuntu para ejecutar algunos comandos de curl y verificar la conectividad.

    $ kubectl run -i --tty ubuntu --image=ubuntu --restart=Never -- sh 

Desde este pod ejecutan los siguientes comandos: Curl el servicio en el 'puerto' definido en el manifiesto Kubernetes para el servicio.

    $ curl hello-world:8080

Esto demuestra que al curar el servicio Kubernetes en el puerto 80 redirige la solicitud a nuestro pod nginx que escucha en el puerto 80. Para probar el NodePort en tu máquina (no en el pod de Ubuntu) te necesitarás encontrar la dirección IP del nodo en el que están ejecutando tu pod.

    $ kubectl describe pod nginx
Dirección IP de Kubernetes NodePort

Ahora, te puede curlar la dirección IP del nodo y el nodePort y debería llegar al contenedor nginx que corre detrás del servicio Kubernetes.

Conclusión

Dominar Kubernetes, especialmente el uso de pods y puertos, está esencial para gestionar eficientemente aplicaciones contenedoras a gran escala. A medida que Kubernetes sigue evolucionando y su adopción crece en diversos sectores, entender cómo configura y optimiza la red dentro de la plataforma permitirá a te desplegar, gestionar y escalar aplicaciones con mayor precisión y fiabilidad.

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de ITOps y DevOps

¿Te interesa saber más de BMC?

El Brief están nuestro correo mensual sobre el mainframe y la orquestación empresarial: investigación, historias de clientes, noticias de productos, eventos.

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Tú te has suscrito a The Brief

El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.