Exponer el servicio de Kubernetes a una dirección IP externa

Esta guía le muestra cómo 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. Esta guía le muestra cómo exponer el servicio de Kubernetes a una dirección IP externa mediante el método LoadBalancer. Debe tener las siguientes herramientas instaladas y configuradas correctamente en su sistema antes de continuar:

  • Herramienta de línea de comandos de Kubectl
  • Clúster de Kubernetes
  • Clúster de minikube
  • Ubuntu 22.04 instalado u otra versión más nueva
  • Proveedores de nube como Amazon Webservices, etc.

Una vez que haya instalado estas herramientas, puede exponer un servicio de Kubernetes a una dirección IP externa.

Contenidos

¿Cómo puedo exponer un servicio de Kubernetes a direcciones IP externas?

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

Paso #1: Inicie Minikube

Comencemos iniciando el clúster de Minikube. Es importante iniciar el clúster de Minikube cada vez que necesite configurar algo o ejecutar sus aplicaciones en su entorno de Kubernetes. Iniciar correctamente el clúster de minikube garantiza que el clúster de minikube esté funcionando y listo para ejecutar su aplicación. Así que simplemente use el comando que se muestra a continuación para iniciar el clúster de Minikube: kalsoom@kalsoom-VirtualBox > iniciar minikube

Paso n.º 2: crear una implementación

En esta guía, exponemos el servicio de Kubernetes a una dirección IP externa mediante una implementación. Hemos definido la configuración en el archivo load-balancer-example.yaml que usaremos para crear una implementación en el clúster. Para crear el deployment, ejecutamos el siguiente comando: kalsoom@kalsoom-VirtualBox> kubectl apply -f https://k8s.io/examples/service/load-balancer-example.yaml

Como se muestra, se generó correctamente una implementación titulada hello-world.

Paso #3: Verificar la implementación

Ahora revisemos qué tipo de implementación se creó y sus detalles. Para verificar la implementación, se usa el siguiente comando: kalsoom@kalsoom-VirtualBox > kubectl get deployments hello-world Este comando muestra los detalles de la implementación, vea el resultado a continuación:

Como se muestra, la implementación de hello-world se creó con un conjunto de réplicas que contenía cinco pods. La aplicación Hello World se ejecuta en cada uno de los cinco módulos. Sin embargo, este comando mostró un breve detalle de despliegue. Si desea verificar más detalles de la implementación, puede usar el siguiente comando: kalsoom@kalsoom-VirtualBox > kubectl descripción Implementaciones hello-world El comando kubectl describe proporciona una descripción detallada de la implementación para ayudarlo a obtener más información sobre la implementación Experimentado . Consulte el resultado que se proporciona a continuación para obtener una descripción detallada de la implementación:

Paso n.º 4: comprobar los objetos de los conjuntos de réplicas

Como sabemos, la implementación se creó utilizando un objeto de conjunto de réplicas. Así que vamos a comprobar los detalles de estos objetos. Para verificar los detalles de la réplica, podemos usar el siguiente comando: kalsoom@kalsoom-VirtualBox > kubectl get replicasets

Como se muestra, los detalles de los conjuntos de réplicas incluyen: nombre, deseado, actual, terminado y antiguo. Si desea obtener más información sobre los conjuntos de réplicas de la implementación, puede usar el siguiente comando: kalsoom@kalsoom-VirtualBox > kubectl describe replicasets Este comando le proporcionará los detalles detallados de los conjuntos de réplicas asociados con la implementación de hello-world. vea el resultado en la siguiente captura de pantalla:

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

Ahora expongamos la implementación mediante un objeto de servicio. Debido a que vamos a exponer el servicio de Kubernetes mediante una implementación de dirección IP externa, necesitamos un objeto de servicio para hospedar la implementación. kalsoom@kalsoom-VirtualBox > kubectl Expose Deployment hello-world –type=LoadBalancer –name=my-service Como puede ver, se usan dos marcas con el comando, -type=LoadBalancer y -name=my- service. El primer indicador determina el tipo de equilibrador y el segundo indicador determina el nombre del objeto de servicio. Ahora vamos a referirnos a la salida dada a continuación:

Como puede ver en el resultado anterior, un objeto de servicio llamado my-service se expuso con éxito.

Paso #6: Obtenga los detalles del objeto de servicio

El siguiente paso es ver los detalles del objeto de servicio que creamos anteriormente. Podemos usar el comando que se proporciona a continuación para obtener los detalles del objeto de servicio: kalsoom@kalsoom-VirtualBox > kubectl get service my-service El comando kubectl get se usa para obtener acceso al clúster, pod, nodo o cualquier cosa que contenga Kubernetes medioambiente. Estamos tratando de obtener los detalles del objeto de servicio. Así que proporcionamos el indicador de «servicios» seguido del nombre del objeto de servicio my-service. Vea la salida a continuación:

Nuevamente, si desea obtener más información sobre el objeto de servicio, siempre puede usar el comando kubectl describe. El comando completo se proporciona a continuación para su referencia: kalsoom@kalsoom-VirtualBox > kubectl describe services my-service Después de ejecutar este comando, obtendrá un resultado similar al siguiente:

En el resultado anterior, puede ver 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 del pod

Ahora que conocemos los detalles del objeto de servicio, podemos verificar la dirección de los pods en los que actualmente se ejecuta la aplicación hello-world. El comando que se describe a continuación simplifica esto: kalsoom@kalsoom-VirtualBox > kubectl get pods –output=wide Este comando nos muestra la dirección de los pods que ejecutan la aplicación hello-world, vea el resultado en la instantánea en:

Así es como puede 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 delete services my-service Este comando elimina el objeto de servicio del clúster:

Ahora, para eliminar la implementación completa, incluidos los pods y los conjuntos de réplicas, use el siguiente comando: kalsoom@kalsoom-VirtualBox > kubectl delete Deployment hello-world

Conclusión

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada.