Can we run an executable jar file inside an already running Kubernetes pod?
Asked Answered
P

2

2

I need to execute a diagnostic program written for my application. The application is running/deployed in a Kubernetes pod. I want to copy a diagnostic executable jar file inside the Kubernetes pod and execute it without stopping the pod. How can this be achieved ? Is there a specific way to run the executable jar using the Kubernetes pod environment in place ?

Pfennig answered 11/2, 2021 at 5:5 Comment(0)
E
5

You can try the kubectl cp command:

From the docs:

Copy /tmp/foo_dir local directory to /tmp/bar_dir in a remote pod in the default namespace

kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir

Copy /tmp/foo local file to /tmp/bar in a remote pod in a specific container

kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>

Copy /tmp/foo local file to /tmp/bar in a remote pod in namespace

kubectl cp /tmp/foo <some-namespace>/<some-pod>:/tmp/bar

Copy /tmp/foo from a remote pod to /tmp/bar locally

kubectl cp <some-namespace>/<some-pod>:/tmp/foo /tmp/bar

Once the executable is added inside the container, you can exec into the pod and execute the file manually.

Expiration answered 11/2, 2021 at 5:34 Comment(2)
My intent to ask the question was is it possible to run the executable jar file inside a Kubernetes pod and does really it works using the environment inside ? If yes, then is there a specific way to do it ? Copying the file inside the Kubernetes pod isn't an issue here. So, I am modifying the question a bit.Pfennig
Once the executable is added inside the container, you can exec into the pod and execute the file manually.Expiration
D
1

To open up interactive bash terminal

kubectl exec <pod name> -n <namespace> -c <container name> -it bash

After this, find your executable jar and run it. once completed, exit the terminal.

You can run it directly.

kubectl exec <podname> -n <namespace> -c <container name> -- < command to run your jar > 

check this official k8s page https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#exec

Duvetyn answered 11/2, 2021 at 17:0 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.