Durante el desarrollo, los desarrolladores tienen que depurar sus aplicaciones para resolver problemas de código. Para depurar una aplicación Java que se implementa en una máquina remota en un clúster de Kubernetes, primero el desarrollador debe realizar algunos pasos para habilitar su aplicación lista para la depuración. A continuación se muestran los pasos manuales para habilitar la depuración remota para cualquier aplicación Java que se ejecute como contenedor en el entorno de Kubernetes .
Implementación paso a paso
Paso 1: edite la implementación. Digamos que el nombre de la implementación es «my-app».
kubectl editar implementación mi-aplicación
Paso 2: agregue las opciones de Java (JAVA_OPTS) y su valor para habilitar la depuración como una variable en la sección «env» en la implementación de la siguiente manera:
– nombre: JAVA_OPTS
valor: “-agentlib:jdwp=transporte=dt_socket,servidor=y,suspender=n,dirección=9991”
Después de guardar los cambios en la implementación, Kubernetes volverá a implementar automáticamente todos los pods con los nuevos cambios.
Paso 3: Cree un servicio de depuración para su aplicación. Supongamos que lo ha nombrado como «my-app-debug-svc.yaml» o cambia el archivo yaml del servicio existente si está presente. Consulte a continuación el archivo yaml de servicio de muestra, realice los cambios resaltados en su archivo yaml de servicio. Agregar nodePort permite que la aplicación externa (aquí su IDE) acceda a los contenedores implementados en Kubernetes Cluster.
apiVersión: v1
tipo: Servicio
metadatos:
nombre: mi-aplicación-depuración-svc
espacio de nombres: <espacio de nombres>
etiquetas:
servicio: mi-aplicación-depuración
versión: “1.0”
Especificaciones:
tipo: puerto de Node
puertos:
– puerto: 9991
NodePuerto: 9991
protocolo: TCP
nombre: puerto de depuración
selector:
aplicación: mi-aplicación
servicio: mi-aplicación-depuración
versión: “1.0”
Paso 4: Inicie el servicio de depuración usando el siguiente comando.
Kubectl create -f my-app-debug-svc.yaml
Paso 5: edite la configuración en su IDE para realizar la depuración remota. Estos son los pasos para editar la configuración en IntelliJ IDE:
- Abra su base de código en InteliiJ IDE.
- Vaya a Editar configuración:
- Haga clic en el signo + y seleccione Remoto. Proporcione cualquier nombre para su configuración de depuración remota. Por ejemplo, my-debug. Proporcione el nombre de host y el puerto de la máquina del servidor donde se ejecuta la aplicación que desea depurar. El valor del campo «Command line arg for remote jvm» se completará automáticamente. Haga clic en Aplicar y luego en Aceptar.
- Establecer los puntos de interrupción.
- Haga clic en el icono de depuración.
- Revisa la consola. Debería decir «Conectado a la máquina virtual de destino, dirección: ‘<nombre de host>:<número de puerto>’, transporte: ‘socket'».
¡Eso es todo lo que está listo para depurar su aplicación Java de forma remota!
Publicación traducida automáticamente
Artículo escrito por harshitaagrawal2 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA