GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar el reenvío de puertos de kubectl

Introducción

Reenvío de puertos de Kubectl le permite acceder e interactuar con los procesos internos del clúster de Kubernetes desde su host local. Puede usar este método para investigar problemas y ajustar sus servicios localmente sin necesidad de exponerlos de antemano.

Kubectl es la principal herramienta de línea de comandos para administrar clústeres de Kubernetes. Es esencial para implementar aplicaciones, administrar recursos de clúster y crear marcos complejos.

Este tutorial conciso le muestra cómo usar kubectl para reenviar a un pod en un clúster de Kubernetes.

Requisitos previos

  • Un clúster de Kubernetes
  • Un kubectl totalmente configurado herramienta de línea de comandos

¿Cómo funciona el reenvío de puertos de Kubernetes?

Aunque Kubernetes es un sistema de orquestación altamente automatizado, el proceso de reenvío de puertos requiere la participación directa y recurrente del usuario. Una conexión finaliza una vez que falla la instancia del módulo y es necesario establecer un nuevo reenvío ingresando el mismo comando manualmente.

Todo el proceso se simplifica por el hecho de que kubectl ya tiene una función de reenvío de puertos integrada.

  1. Un usuario interactúa con Kubernetes mediante kubectl línea de comandos en su máquina local.
  2. El port-forward El comando especifica el nombre del recurso del clúster y define el número de puerto al que se reenvía.
  3. Como resultado, el servidor API de Kubernetes establece una única conexión HTTP entre su host local y el recurso que se ejecuta en su clúster.
  4. El usuario ahora puede interactuar directamente con ese pod específico, ya sea para diagnosticar un problema o depurarlo si es necesario.

El reenvío de puertos es un método que requiere mucho trabajo. Sin embargo, en algunos casos, es la única forma de acceder a los recursos internos del clúster.

Comandos básicos de kubectl port-forward

El port-forward El comando establece un túnel desde el módulo de destino hasta su host local. El comando requiere que defina el tipo o el nombre del recurso, así como los números de puerto local y remoto:

kubectl port-forward TYPE/NAME [options] LOCAL_PORT:REMOTE_PORT

Si varios pods coinciden con los criterios de tipo/nombre, se selecciona uno al azar de forma predeterminada. Para evitar este tipo de incoherencias, defina un pod con la mayor precisión posible. Puede encontrar el nombre exacto del pod enumerando manualmente los pods dentro de un espacio de nombres escribiendo:

kubectl -n yournamespace get pods

La lista proporciona los nombres de los pods dentro de ese espacio de nombres.

Puerto de kubectl a un pod específico

Por ejemplo, el siguiente comando le permitiría acceder a una implementación de MongoDB dentro de su clúster. El nombre del pod es mongo-db-r3pl1ka3 y el número de puerto es 5762:

kubectl port-forward pod/mongo-db-r3pl1ka3 8080:5762

La API de Kubernetes ahora escucha en el puerto local 8080 y reenvía datos al puerto 5762 en el pod definido.

Puerto local aleatorio

Escuche en un puerto aleatorio localmente y reenvíe al puerto 5762 dentro del pod especificado:

kubectl port-forward pod/mongo-db-r3pl1ka3 :5762

Puerto local y remoto correspondiente

Escuche y reenvíe datos usando puertos idénticos (8080, 5762) tanto localmente como dentro del módulo específico:

kubectl port-forward pod/mongo-db-r3pl1ka3 8080 5762

Dirección IP local aleatoria

Escuche en el puerto 8080 en cualquier dirección local, reenvíe al puerto 5762 en el pod especificado:

kubectl port-forward --address 0.0.0.0 pod/mongo-db-r3pl1ka3 8888:5762

Especifique la dirección IP local para el reenvío de puertos

Escuche en el puerto 8080 en el host local usando la IP definida, reenvíe al puerto 5762 en el pod:

kubectl port-forward --address localhost,10.153.40.102 pod/mongo-db-r3pl1ka3 8080:5762

Usar la implementación para seleccionar el pod de reenvío de puertos

Escuche y reenvíe datos usando los mismos puertos (8080 5762) tanto localmente como dentro del módulo. La implementación define qué pod se va a utilizar:

kubectl port-forward deployment/mydeployment 8080 5762

Permitir que el servicio defina el pod de reenvío de puertos

Escuche y reenvíe datos usando los mismos puertos (8080 5762) tanto localmente como dentro del módulo. El Servicio selecciona qué pod se va a utilizar:

kubectl port-forward service/myservice 8080 5762

Cent OS
  1. Cómo configurar túneles SSH

  2. Configurar el servidor DHCP en CentOS 8:¿cómo hacerlo?

  3. Cómo cambiar el puerto SSH en CentOS

  4. Cómo configurar servidores de nombres en CWP

  5. Cómo abrir un puerto en CentOS / RHEL 7

Cómo establecer una IP estática en Debian 11

Cómo habilitar SSH en CentOS

Cómo configurar el reenvío de puertos dinámicos SSH en Linux

Cómo configurar el reenvío de correo electrónico en cPanel

Cómo configurar el servidor DHCP en CentOS 8

¿Cómo configurar reenviadores de correo electrónico en mis cuentas de correo electrónico?