Я пытаюсь написать скрипт, который запускает некоторые команды внутри контейнера, используя kubectl exe c. Я хотел бы использовать переменные окружения, которые существуют внутри контейнера, но изо всех сил пытался выяснить, как помешать моей локальной оболочке оценивать переменную var и по-прежнему оценивать ее в контейнере.
Это была моя первая попытка , но $ MONGODB_ROOT_PASSWORD оценивается моей локальной оболочкой, а не внутри контейнера:
kubectl -n enterprise exec mycontainer -- mongodump --username root --password $MONGODB_ROOT_PASSWORD --out /dump
Я пробовал это, но у меня была та же проблема с конвейером, это оценивалось в моем локальном, а не в контейнере:
kubectl -n enterprise exec mycontainer -- echo 'mongodump --username root --password $MONGODB_ROOT_PASSWORD --out /dump' | sh
Есть ли способ сделать это с помощью kubectl exe c?