Ошибка сервера (NotFound): не найдены модули "\ nmongo-client-79667cc85d-tsg72" - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь сделать резервную копию из Mongo / K8S с помощью этого сценария

export POD=$(kubectl get pods -l app=mongo-client -o custom-columns=:metadata.name -n espace-client)
kubectl exec "$POD" sh -c 'mongodump --archive' > ~/backup/mongo/$(date +%F).db.dump

Я получаю эту ошибку:

Error from server (NotFound): pods "\nmongo-client-79667cc85d-tsg72" not found

Когда я проверяю модули, я вижуmongo-client-79667cc85d-tsg72

Когда я ставлю имя без переменной, оно работает хорошо, так что это может быть из-за начального \n.Как я могу избежать этого?Как я могу удалить его из имени?

Ответы [ 2 ]

2 голосов
/ 24 сентября 2019

Вывод вашей команды kubectl get pods имеет новую строку перед именем модуля, потому что первая строка вывода - это заголовок столбца (который в вашем случае пуст).

Чтобы предотвратить это и получить толькоимя в качестве вывода, вы можете подавить заголовки столбцов с флагом --no-headers:

kubectl get pods -l app=mongo-client -o custom-columns=:metadata.name -n espace-client --no-headers
0 голосов
/ 24 сентября 2019

Ваша команда kubectl get pods ограничена селектором пространства имен -n espace-client.Ваша команда kubectl exec также нуждается в флаге пространства имен.

...