Reenvío de puertos de Kubernetes

Reenvío de puertos de Kubernetes

En este artículo, echaremos un vistazo a los conceptos básicos del reenvío de puertos y cómo se puede usar junto con Kubernetes. Puede aprender todo sobre el reenvío de puertos y cómo Kubernetes lo usa. Aquí, puede ver toda la información, así como las capturas de pantalla de los comandos que se han ejecutado. Comencemos primero con la definición de reenvío de puertos.

¿Qué es el reenvío de puertos??

El reenvío de puertos se define como una técnica de red que permite que las computadoras se comuniquen entre sí, pero estas computadoras deben estar en la misma red. El reenvío de puertos se logra creando una mapeo de direcciones entre dos puertos en dos nodos diferentes en la misma red. Esto permite que una computadora envíe los datos de un nodo a otro mientras mantiene el tráfico seguro. Para comprender mejor el reenvío del puerto, consideremos un ejemplo. Si desea acceder a su servidor web doméstico desde fuera de su red local, puede usar el reenvío de puertos para que el tráfico pueda enrutar a través de su enrutador y salir a Internet. Kubernetes utiliza el reenvío de puertos como parte de su sistema de orquestación de contenedores para servicios como HTTP/HTTPS y SSH Connections.

¿Qué es el reenvío de puertos en el contexto de Kubernetes??

El reenvío del puerto de Kubernetes es una forma de acceder a los recursos internos del clúster desde fuera del clúster. Los usuarios pueden asignar un puerto externo a un puerto utilizado por un recurso, como POD, implementación, conjunto de réplicas o servicio. De esta manera, el recurso se vuelve accesible desde la red local. Kubectl presenta una funcionalidad de reenvío de puertos incorporado.

Prerrequisitos:

El reenvío del puerto de Kubernetes es una parte esencial de cualquier implementación de Kubernetes. Permite a los usuarios acceder a los servicios que se ejecutan dentro de un clúster de Kubernetes desde fuera del entorno de Kubernetes. Este proceso requiere algunos requisitos previos para tener éxito.

Antes de intentar el reenvío del puerto de Kubernetes, los usuarios primero deben tener un conocimiento práctico de cómo funcionan los contenedores y cómo interactúan con los otros componentes de un sistema. También deben tener una experiencia sobre cómo configurar la red en los sistemas operativos basados ​​en Linux, así como comprender los diversos protocolos y puertos de redes que se utilizan para la comunicación entre diferentes componentes. Además, comprender las diferencias entre los tipos de servicio disponibles dentro del entorno Kubernetes, como equilibradores de carga, controladores de ingreso y servicios nodeport, es beneficioso al configurar el reenvío de puertos.

Pasos para configurar el reenvío del puerto

El reenvío de puertos es un aspecto importante de Kubernetes, que permite a los usuarios enviar de forma segura los datos de una computadora a otra. Configurar el reenvío del puerto puede parecer complicado, pero varios pasos sencillos lo hacen sencillo. Esta sección analiza los pasos necesarios para configurar el reenvío de puertos en Kubernetes. Puedes comenzar de inmediato.

Paso 1: Comience el minikube

Nuestro primer paso es iniciar los Kubernetes. Ejecutamos el siguiente comando para iniciar el panel de Kubernetes:

> Minikube Start



Después de ser ejecutado, este comando demuestra que la aplicación Kubernetes se está ejecutando en un contenedor local con un clúster de Minikube. Primero necesitas dar este paso necesario.

Paso 2: crear una implementación

En el siguiente paso, creamos una implementación que ejecuta el MongoDB. Esto se hace con el siguiente comando:

> kubectl aplicar -f https: // k8s.IO/Ejemplos/Aplicación/MongoDB/Mongo-Deployment.yaml



Puede ver la salida justo debajo del comando ejecutado previamente.

Paso 3: Verifique el estado de la cápsula

Ahora, verificamos el estado de la cápsula con el comando adjunto aquí:

> kubectl consigue vainas



En la salida, puede ver la cápsula creada en la cuarta línea con el nombre, "Mongo-78C7D87875-SL5G6".

Paso 4: consulte el estado de implementación

En este paso, vemos el estado de la implementación con el siguiente comando dado:

> kubectl obtener implementación



La salida muestra la creación exitosa de la implementación.

Paso 5: Vea el estado del replicAset

Una replicaSet se gestiona automáticamente por la implementación. Use el siguiente comando para ver el estado de replicaSet:

> Kubectl Get ReplicAset



La salida indica la creación exitosa del replicaSet.

Paso 6: Crear un servicio para MongoDB

Aquí, creamos un servicio accesible para la red para MongoDB. Esto se hace con el siguiente comando dado:

> kubectl aplicar -f https: // krs.IO/Ejemplos/Aplicación/MongoDB/Mongo-Service.yaml



La salida de un comando exitoso confirma que se establece el servicio.

Paso 7: Verifique el servicio

En este paso, verificamos el servicio que se crea con el siguiente comando dado:

> Kubectl Get Service Mongo



La salida muestra que el servicio se crea con éxito.

Paso 8: Compruebe si el servidor está activo

Con el siguiente comando, podemos confirmar que el servidor MongoDB está activo en el POD y está escuchando en el puerto 27017:

> Kubectl Get Pod Mongo-75F59D57F4-4ND6Q--Template = '(index (index .Especificaciones.contenedores 0).puertos 0).ContainerPort "\ n" '



El puerto TCP asignado a MongoDB en Internet es 27017. Se puede ver en la salida proporcionada.

Paso 9: Reenviar un puerto local

En este paso, veamos cómo puede reenviar un puerto local a un puerto en la cápsula. Para lograr eso, se utiliza el comando "Kubectl Port-Forward".

> Kubectl Port-Forward Mongo-78C7D87875-SL5G6 28015: 27017


Verificación de la configuración del reenvío de puertos

Verificar la configuración del reenvío de puertos es una parte importante del proceso de instalación de Kubernetes. Este artículo explica cómo configurar correctamente y validar el reenvío de puertos para un proyecto que se ejecuta en Kubernetes, asegurando que todos los servicios sean accesibles de manera esperada.

El reenvío de puertos implica configurar las rutas de comunicación de red entre dos grupos de hosts: aquellos dentro y fuera de una red privada. Al configurar el reenvío de puertos, puede acceder a los servicios que se encuentran dentro de una red privada desde fuera de él, así como permitir a los usuarios acceder a los servicios que están alojados en su entorno de nube pública desde cualquier lugar. Esto se puede hacer asignando los puertos específicos con direcciones IP específicas y protocolos, lo que permite que el tráfico pase de forma segura. Con Kubernetes, debe asegurarse de que los puertos adecuados estén configurados correctamente antes de intentar verificar su funcionalidad.

¿Cuáles son los beneficios del reenvío de puertos??

El reenvío de puertos es un paso importante en el uso de Kubernetes para administrar las aplicaciones contenedores. Al comprender e implementar el reenvío de puertos, los usuarios pueden aprovechar los muchos beneficios que vienen con la capacidad de Kubernetes para administrar los recursos de manera efectiva.

    • El reenvío de puertos funciona permitiendo que los contenedores que se ejecutan en un nodo se comuniquen entre sí o con servicios externos, lo que facilita a los usuarios acceder a esos servicios externamente.
    • El reenvío de puertos proporciona varias ventajas clave cuando se usa en combinación con Kubernetes. Primero, simplifica las comunicaciones externas al exponer solo ciertos servicios mientras sale de los otros puertos ocultos. Esto mejora la seguridad y reduce el riesgo de ataques maliciosos al evitar que los atacantes accedan a los puertos restringidos.
    • Además, el reenvío de puertos puede ayudar a equilibrar el tráfico en múltiples nodos, lo que puede mejorar el rendimiento y la escalabilidad a medida que se agrega más carga al sistema.

Desafíos potenciales con el reenvío de puertos de Kubernetes

El reenvío de puertos de Kubernetes es una herramienta importante para desarrollar y administrar las aplicaciones. Sin embargo, es importante comprender los desafíos potenciales que pueden surgir con el reenvío de puertos de Kubernetes. Comprender estos desafíos puede ayudarlo a determinar si este proceso es adecuado para sus necesidades de desarrollo de aplicaciones.

    • Uno de los problemas más comunes con el reenvío de puertos de Kubernetes son las vulnerabilidades de seguridad. Es importante asegurar cualquier puerto que abra el marco de Kubernetes para proteger su aplicación de los atacantes.
    • Además, debe tener en cuenta los posibles problemas de redes como las configuraciones de NAT o Firewall que podrían bloquear el tráfico y evitar un acceso a su aplicación.
    • Finalmente, el agotamiento de los recursos también puede ser un problema al usar el reenvío del puerto de Kubernetes, ya que cada nueva conexión requiere recursos adicionales de la máquina host. Para evitar este problema, asegúrese de monitorear el uso de cerca y ajustar la configuración en consecuencia según sea necesario.

Conclusión

El reenvío del puerto de Kubernetes es una forma conveniente y eficiente de acceder a las aplicaciones que se ejecutan en clústeres de Kubernetes. Como se ve en los pasos discutidos, es importante tener una comprensión básica de cómo funciona el reenvío de puertos antes de intentar usarlo. Este artículo describió los pasos necesarios involucrados en la configuración del reenvío de puertos en un clúster de Kubernetes. Siguiendo las pautas dadas, los usuarios deben poder configurar fácilmente y configurar el reenvío del puerto y comenzar a acceder a sus aplicaciones con facilidad. Además, el uso de este método puede ayudar a reducir la complejidad cuando se trabaja con múltiples vainas o servicios que se ejecutan en diferentes puertos.