Я пытаюсь выполнить эту команду:

alias kubectl_winpty='winpty kubectl'   ( using winpty due to [bug][1] 
kubectl_winpty exec -it vault-0 -n vault-xxx -- sh export VAULT_CACERT=/vault/userconfig/vault-tls/vault.ca

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

sh: can't open 'export': No such file or directory
command terminated with exit code 2

Стручок существует и работает

$ kubectl get pods vault-0 -n vault-xxx
NAME      READY   STATUS    RESTARTS   AGE
vault-0   0/1     Running   0          17m
0
user63898 23 Янв 2021 в 13:07

2 ответа

Лучший ответ

Я предполагаю, что sh export заставляет оболочку принимать экспорт как имя файла (какой-то сценарий, который будет запускать оболочка). Отсюда ошибка can't open 'export': No such file or directory.

Попробуйте использовать опцию -c.

kubectl_winpty exec -it vault-0 -n vault-xxx -- sh -c "export VAULT_CACERT=/vault/userconfig/vault-tls/vault.ca"

Также лучше установить переменную env при создании этого капсула.

Также убедитесь, что ваш модуль исправен и находится в состояние готовности, чего нельзя сказать о выходе kubectl get.

3
mchawre 23 Янв 2021 в 10:23
NAME      READY   STATUS    RESTARTS   AGE
vault-0   0/1     Running   0          17m

В READY он показывает 0/1, что означает, что ток равен 0, а желаемый - 1. Это означает, что модуль не готов обслуживать запрос. По сути, модуль запланирован на узле планировщиком, и он работает (контейнер внутри него также работал), но он должен быть готов для обслуживания трафика.

0
Sahadat Hossain 23 Янв 2021 в 10:21