As a follow on to my previous post, I thought it would be interesting to describe how to live debug a Java application running on OpenShift.
Setup
sudo oc cluster up --version=latest # Any OpenShift environment will work
oc login # as developer:developer
oc new-app openshift/wildfly-101-centos7~https://github.com/danmcp/openshift-jee-sample.git
oc expose service/openshift-jee-sample
oc set env dc/openshift-jee-sample DEBUG=true # Enable the debug port
Next, browse to the web console and log in as developer:developer. Select My Project and click on the url for openshift-jee-sample in the upper right. You should see the index.html page. Add /HelloWorld to the end of the url and you should see the output of the HelloWorld Servlet.
You'll need to use port forwarding to expose the debug port from the container to a local port on your host. Using port forwarding is ideal because it keeps you from having to expose the container debug port to the rest of the cluster.
oc get pods # To get the name of the running pod you will sync to
oc port-forward <pod_name> 8787:8787 # Replace <pod_name> with the value from the previous step
I'm going to use Eclipse for my example, but you can use any IDE or CLI (such as jdb) that supports remote debugging. If you are using Eclipse, you'll want to download the source and add it to your workspace.
git clone https://github.com/danmcp/openshift-jee-sample.git
Demo
At this point, you're all set to connect your debugger and start stepping through some code:
[video width="1920" height="1080" webm="https://blog.openshift.com/wp-content/uploads/java_debug.webm"][/video]
Wrap Up
My example was with oc cluster up but the basic steps of setting DEBUG=true and oc port-forward will work with any OpenShift environment and with all of our JBoss images. Happy debugging!
Sobre el autor
Más como éste
From maintenance to enablement: Making your platform a force-multiplier
NGINX Gateway Fabric certified for Red Hat OpenShift
The Infrastructure Effect | Command Line Heroes
Bad Bosses | Compiler: Tales From The Database
Navegar por canal
Automatización
Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos
Inteligencia artificial
Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar
Nube híbrida abierta
Vea como construimos un futuro flexible con la nube híbrida
Seguridad
Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías
Edge computing
Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge
Infraestructura
Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo
Aplicaciones
Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones
Virtualización
El futuro de la virtualización empresarial para tus cargas de trabajo locales o en la nube