выполнение команды Linux для pid внутри модуля k8

#kubernetes #jmap

#kubernetes #jmap

Вопрос:

Возможно ли запустить команду Linux против процесса, который выполняется внутри модуля kubernetes. Пример: я хочу получить кучу дампов в процессе Java, запущенном внутри модуля k8. Модуль поставляется с минимальной установкой и также не имеет такого большого дискового пространства, поэтому я хочу запустить команду jmap с локального компьютера (указывая на кластер k8). Спасибо.

Комментарии:

1. Вы пробовали использовать kubectl exec ?

Ответ №1:

Как я уже упоминал в комментариях, вы можете использовать команду kubectl exec:

Выполните команду в контейнере.

Использование:

 $ kubectl exec (POD | TYPE/NAME) [-c CONTAINER] [flags] -- COMMAND [args...]
  

kubectl exec Команда — это инструмент, который позволяет вам проверять и отлаживать ваши приложения, выполняя команды внутри ваших контейнеров.

Если вам нужны более подробные сведения и примеры о том, как его использовать, я рекомендую эти два руководства:

Ответ №2:

kubectl exec сделал это. Это позволяет запускать любую команду внутри контейнера. Например:

 kc exec <POD_NAME> -- jmap -dump:live,format=b,file=heapdump.bin <pid>