Necesito ejecutar un programa de diagnóstico escrito para mi aplicación. La aplicación se está ejecutando/implementada en un pod de Kubernetes. Quiero copiar un archivo jar ejecutable de diagnóstico dentro del pod de Kubernetes y ejecutarlo sin detener el pod. ¿Cómo se puede lograr esto? ¿Hay alguna forma específica de ejecutar el jar ejecutable utilizando el entorno de pod de Kubernetes en su lugar?
Puedes probar el comando kubectl cp :
De los documentos :
Copie el directorio local /tmp/foo_dir a /tmp/bar_dir en un pod remoto en el espacio de nombres predeterminado
kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dirCopie el archivo local /tmp/foo a /tmp/bar en un pod remoto en un contenedor específico
kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>Copie el archivo local /tmp/foo en /tmp/bar en un pod remoto en el espacio de nombres
kubectl cp /tmp/foo <some-namespace>/<some-pod>:/tmp/barCopie /tmp/foo desde un pod remoto a /tmp/bar localmente
kubectl cp <some-namespace>/<some-pod>:/tmp/foo /tmp/bar Una vez que se agrega el ejecutable dentro del contenedor, puede exec en el pod y ejecutar el archivo manualmente.
Para abrir la terminal bash interactiva
kubectl exec <pod name> -n <namespace> -c <container name> -it bashDespués de esto, busque su jar ejecutable y ejecútelo. una vez completado, salga de la terminal.
Puedes ejecutarlo directamente.
kubectl exec <podname> -n <namespace> -c <container name> -- < command to run your jar >consulte esta página oficial de k8s https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#exec