У меня есть контейнер, работающий в Kubernetes, где я хотел бы запустить команду из моего локального терминала. Рабочий каталог контейнера, основанный на его файле yaml, находится, скажем, /opt/gopath/src/a/
. Тем не менее, я хотел бы запустить команду в каталоге /opt/gopath/src/b/
. Кроме того, мне также нужно установить некоторые временные переменные среды перед запуском этой команды. В настоящее время я занимаюсь этим:
kubectl exec $pod_name -- bash -c "cd ../b/; env ENV_VARIABLE_1=ENV_VALUE_2 && env ENV_VARIABLE_2=ENV_VALUE_2 && <cmd to run>".
Это, кажется, работает в настоящее время. Однако я не уверен, что это лучший способ добиться этого. Кроме того, выполнение этой команды отображает все переменные среды в контейнере, которые я бы не хотел выводить, если это возможно. Может ли кто-нибудь указать мне правильное направление?