Exponer el servicio Kubernetes a una dirección IP externa

Exponer el servicio Kubernetes a una dirección IP externa
En esta guía, debemos aprender a exponer el servicio de Kubernetes a una dirección IP externa. Hay tres formas diferentes de exponer un servicio de Kubernetes a una dirección IP externa: Clusterip, Nodeport y LoadBalancer. En esta guía, aprenderemos cómo exponer el servicio de Kubernetes a una dirección IP externa utilizando el método LoadBalancer.

Prerrequisitos:

Necesita las siguientes herramientas instaladas y configuradas correctamente en su sistema antes de comenzar hacia adelante:

  • Herramienta de línea de comandos kubectl
  • Clúster de Kubernetes
  • Clúster de minikube
  • Ubuntu 22.04 u otra versión posterior instalada
  • Proveedores en la nube como Amazon Web Services, etc

Una vez que tenga instaladas estas herramientas, está listo para exponer un servicio de Kubernetes a una dirección IP externa.

¿Cómo puedo hacer que un servicio Kubernetes sea accesible para direcciones IP externas??

Aquí hay una guía paso a paso para exponer un servicio de Kubernetes a una dirección IP externa.

Paso # 1: Iniciar minikube

Comencemos iniciando el clúster de Minikube. Es importante iniciar el clúster de Minikube cada vez que necesita configurar algo o ejecutar sus aplicaciones en su entorno de Kubernetes. Comenzar el clúster de Minikube correctamente asegura que el clúster de Minikube esté en funcionamiento y listo para ejecutar su aplicación. Por lo tanto, solo use el comando que se muestra a continuación para iniciar el clúster de minikube:

kalsoom@kalsoom-virtualbox> Inicio minikube

Paso # 2: crear una implementación

En esta guía, estamos exponiendo el servicio de Kubernetes a una dirección IP externa utilizando una implementación. Tenemos la configuración definida en el ejemplo de balancer de carga.archivo yaml que usaremos para crear una implementación en el clúster. Para crear la implementación, ejecutaremos el siguiente comando:

kalsoom@kalsoom -virtualbox> kubectl aplicar -f https: // k8s.IO/Ejemplos/Service/Load-Balancer-Exemplo.yaml

Como se muestra, se generó con éxito una implementación titulada Hello-World.

Paso # 3: Verifique la implementación

Ahora, verifiquemos qué tipo de implementación se ha creado y sus detalles asociados. Para verificar la implementación, se utilizará el comando que se proporciona a continuación:

kalsoom@kalsoom-virtualbox> kubectl Get implementaciones Hello-World

Este comando mostrará los detalles de la implementación, consulte la salida a continuación:

Como se muestra, la implementación Hello-World se ha creado con un conjunto de réplicas que contiene cinco vainas. Cada una de las cinco vainas ejecutará la aplicación Hello-World. Sin embargo, este comando ha mostrado un breve detalle de la implementación, si desea verificar más detalles de la implementación, puede usar el siguiente comando:

kalsoom@kalsoom-virtualbox> kubectl Describe implementaciones Hello-World

El comando 'kubectl describir' proporciona una descripción en deterioro de la implementación que le ayuda a saber más sobre la implementación. Consulte la salida que se da a continuación para obtener una descripción detallada de la implementación:

Paso # 4: Verifique los objetos de ReplicAsets

Como sabemos, la implementación se ha creado con un objeto ReplicAset. Entonces, revisemos los detalles de esos objetos. Para inspeccionar los detalles de ReplicAset, podemos emplear el comando que se enumera a continuación:

kalsoom@kalsoom-virtualbox> kubectl obtener replicasets

Como se muestra, los detalles de los replicesets incluyen: nombre, deseado, actual, listo y edad. Si desea saber más sobre los replicesets de la implementación, puede usar el siguiente comando:

kalsoom@kalsoom-virtualbox> kubectl describir replicasets

Este comando le dará los detalles en profundidad de los replicesets asociados con la implementación de Hello-World, vea la salida dada en la captura de pantalla a continuación:

Paso # 5: Cree un objeto de servicio para exponer la implementación

Ahora, expongamos la implementación utilizando un objeto de servicio. A medida que exponemos el servicio de Kubernetes a una IP externa utilizando una implementación, necesitaremos un objeto de servicio para exponer la implementación.

kalsoom@kalsoom-virtualbox> Kubectl Expose Deployment Hello-World --Type = LoadBalancer--Name = My-Service

Como puede ver, se usan dos banderas con el comando, -Type = LoadBalancer y -name = my -service. La primera bandera determina el tipo de equilibrador y la segunda bandera determina el nombre del objeto de servicio. Ahora, consulemos la salida que se da a continuación:

Como puede ver en la salida dada anteriormente, un objeto de servicio llamado My-Service ha sido expuesto correctamente.

Paso # 6: Obtenga los detalles del objeto de servicio

El siguiente paso es ver los detalles del objeto de servicio que hemos creado anteriormente. Podemos usar el comando que se proporciona a continuación para obtener los detalles del objeto de servicio:

kalsoom@kalsoom-virtualbox> kubectl get servicio mi servicio

El comando 'kubectl get' se utiliza para obtener acceso al clúster, el vaD, el nodo o cualquier cosa en el entorno de Kubernetes. Estamos tratando de obtener los detalles del objeto de servicio. Entonces, hemos proporcionado el indicador de 'Servicios' seguido del nombre del objeto de servicio My-Service. Vea la salida a continuación:

Nuevamente, si necesita saber más sobre el objeto de servicio, siempre puede usar el comando 'kubectl describir'. El comando completo se da a continuación para su referencia:

kalsoom@kalsoom-virtualbox> kubectl Describa los servicios my-servicio

Después de ejecutar este comando, obtiene una salida similar a la que se da a continuación:

De la salida anterior, puede tener en cuenta que la dirección IP es 10.110.159.180. El puerto utilizado es 8080 y Nodeport es 30215, mientras que no hay puntos finales, y la dirección IP pertenece a la familia IPv4.

Paso # 7: Verifique la dirección de la vaina

Ahora que conocemos los detalles del objeto de servicio, podemos verificar la dirección de las vainas en las que actualmente están ejecutando la aplicación Hello-World. El comando descrito a continuación hace que sea fácil lograr esto:

kalsoom@kalsoom -virtualbox> kubectl get pods -output = ancho

Este comando nos mostrará la dirección de las cápsulas que están ejecutando la aplicación Hello-World, consulte la salida dada en la instantánea a continuación:

Entonces, esta es cómo exponer los servicios de Kubernetes a una dirección IP externa.

Paso # 8: Limpiar

Después de exponer con éxito los servicios de Kubernetes a una dirección IP externa, asegúrese de eliminar el objeto de servicio junto con la implementación. Esto se puede hacer con el siguiente comando:

kalsoom@kalsoom-virtualbox> kubectl eliminar servicios my-servicio

Con este comando, el objeto de servicio se eliminará del clúster:

Ahora, para eliminar la implementación completa, incluidos los pods y replicasets, use el siguiente comando:

kalsoom@kalsoom-virtualbox> kubectl eliminar implementación hello-world

Conclusión

En esta guía, aprendimos a exponer los servicios de Kubernetes en una dirección IP externa. Con la ayuda de una guía paso a paso, expusimos un servicio de Kubernetes a una dirección IP externa utilizando una implementación. Después de exponer el servicio Kubernetes a una dirección IP externa, también realizamos un proceso de limpieza adecuado.