¿Qué es Kubectl Proxy??

¿Qué es Kubectl Proxy??
Un usuario fuera de un clúster de Kubernetes puede utilizar el proxy del servidor de la API de Kubernetes para conectarse a IPS de clúster que de otro modo no estarían disponibles. Esto, por ejemplo, permite el acceso a un servicio que solo está disponible dentro de la red del clúster. Entre el usuario y el punto final en el clúster, el Apiservador funciona como un proxy y un bastión.

Instalamos Ubuntu 20.04 en nuestro sistema operativo Linux para ejecutar las instrucciones en Kubernetes. Puedes seguirlo. Además, debe instalar el clúster de Minikube en su computadora para ejecutar Kubernetes en Linux. Minikube facilita los comandos y programas de prueba al permitirle hacerlo de manera metódica. Como resultado, proporciona la mejor experiencia de aprendizaje de Kubernetes para los recién llegados. Inicialmente, se debe iniciar el clúster de Minikube. Entonces, en Ubuntu 20.04, vaya al terminal de línea de comandos recién instalado. Puede hacerlo presionando la tecla Ctrl+Alt+t de acceso directo o escribiendo "terminal" en el Ubuntu 20.04 Caja de búsqueda del sistema. Cualquiera de las técnicas antes mencionadas comenzará la terminal. El minikube se iniciará después de eso. Escriba "Minikube Start" en la terminal para iniciar el minikube. El clúster de Kubernetes se iniciará después de que se haya construido una máquina virtual capaz de operar un solo clúster de nodo. También es compatible con el entorno Kubectl. Esto se utilizará para comunicarse con el clúster al principio.

$ minikube comienzo

Para obtener acceso a un clúster, necesitará saber dónde se encuentra y qué credenciales necesitará. Esto generalmente se hace automáticamente cuando sigue una guía de inicio o alguien más establece el clúster y le ofrece credenciales y una ubicación. El comando de vista de configuración muestra dónde kubectl conoce la ubicación y las credenciales.

Vista de configuración de $ kubectl

Cómo acceder directamente a la API REST ?

Kubectl está a cargo de encontrar y autenticar el Apiservador. En modo proxy, ejecute kubectl.

  • Es un método recomendado.
  • Se utiliza la ubicación del Apiservador guardado.
  • El apisero se autentica.
  • El equilibrio de carga inteligente del lado del cliente y la conmutación por error pueden ser alcanzables en el futuro.

Proporcione directamente al cliente HTTP la ubicación y las credenciales.

  • Una técnica diferente es posible.
  • Funciona con un determinado código de cliente que se confunde cuando se usa un proxy.
  • Para protegerse contra MITM, deberá importar un certificado raíz en su navegador.

Usando Kubectl Proxy

Este comando configura Kubectl para que funcione como un proxy inverso. Está a cargo de localizar y autenticar el Apiservador. Suponga este escenario:

$ kubectl proxy -port = 8080

Un ejemplo de la salida es el siguiente:

Sin el uso de Kubectl Proxy

Para adquirir el token de cuenta de servicio predeterminado, ejecute Kubectl Describa Secret ... con GREP/CUT.

$ kubectl describe secreto

API y el acceso programático

Es para anunciar que Kubernetes ahora admite Bibliotecas de clientes Go y Python. El cliente GO y el cliente de Python pueden utilizar el mismo archivo KubeConfig que la CLI Kubectl para ubicar y autenticarse con el Apiserver.

Acceda a la API desde una cápsula

Al contactar a la API desde una cápsula, el proceso de encontrar y autenticar el Apiservador difiere ligeramente. La mejor manera de localizar el Apiservador en la cápsula es usar los Kubernetes.por defecto.SVC DNS Nombre. Se resuelve a una IP de servicio, y entonces, a su vez, se enruta a un apisinador.

Se sugiere el uso de una credencial de cuenta de servicio para autenticarse en el Apiservador. Después de eso, un token para esa cuenta de servicio se mantiene en el árbol del sistema de archivos del contenedor en ese pod. Se inserta un paquete de certificado en el árbol del sistema de archivos de cada contenedor a/var/run/secrets/kubernetes.IO/ServiceAcCount/CA.CRT, si está disponible, y debe usarse para verificar el certificado de servicio del Apiserver.

Finalmente, en cada contenedor, el espacio de nombres predeterminado para las actividades de API se almacena en un archivo AT/var/run/secrets/kubernetes.IO/ServiceAcCount/Namespace. Aquí hay algunas opciones para conectarse a una API desde un POD:

Ejecute Kubectl Proxy como un proceso de fondo en el contenedor o como un contenedor de cápsula. Esto permite que otros procesos en cualquiera de los contenedores de la POD accedan a la API de Kubernetes utilizando la interfaz Localhost del POD.

Cree un cliente combinando la biblioteca de clientes GO con el código. Kubernetes con inclusterConfig () Las funciones newforConfig () y NewforConfig () se pueden usar para configurar un clúster. Están a cargo de encontrar y autenticar el Apiservador.

Conclusión

Aquí hemos proporcionado pautas sobre el poder kubectl. ¿Cuál es la vista de configuración Kubectl común y cómo puede acceder a la API REST con y sin Kubectl Proxy?. También hemos proporcionado ejemplos para ayudarlo a comprender mejor el concepto.