Задача: Снять jfr/dump Java-приложения через kubectl cli команду терминала.
Дополнительно процесс описан в ITWiki
1) логинимся
kubectl login https://...:443
2) выбираем нужный неймспейс
kubectl config set-context --current --namespace <NAME>
3) подключиться к терминалу POD
kubectl exec -it <SERVICE_NAME>-<ID_POD> -- /bin/bash
4) номер PID процесса: узнать его можно через команду jcm
jcmd
5) снимаем heap_dump (после jcmd идет номер PID процесса)
jcmd <PID> GC.heap_dump /tmp/heapdump.hprof
6) выходит из терминала ПОДы
exit
7) сохраняем в папку на BPM (где находится kubectl)
kubectl cp <SERVICE_NAME>-<ID_POD>:/tmp/heapdump.hprof ./<SERVICE_NAME>-<ID_POD>.hprof
-- Снимаем JFR (опционально)
8) запустить запись JFR (после jcmd идет номер PID процесса, узнать его можно набрав команду jcmd)
jcmd <PID> JFR.start filename=/tmp/<SERVICE_NAME>-<ID_POD>.jfr duration=5m maxsize=250m
9) проверка состояния записи
jcmd <PID> JFR.check
10) выходим из терминала поды после 5 минут
exit
11) сохраняем в папку на BPM (где находится kubectl)
kubectl cp <SERVICE_NAME>-<ID_POD>:/tmp/<SERVICE_NAME>-<ID_POD>.jfr ./<SERVICE_NAME>-<ID_POD>.jfr