kubectl exec -it <POD> 获取 sh:无法打开“导出”:没有这样的文件或目录

use*_*898 0 sh kubernetes kubectl

我尝试执行此命令:

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
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

sh: can't open 'export': No such file or directory
command terminated with exit code 2
Run Code Online (Sandbox Code Playgroud)

pod 确实存在并正在运行

$ kubectl get pods vault-0 -n vault-xxx
NAME      READY   STATUS    RESTARTS   AGE
vault-0   0/1     Running   0          17m
Run Code Online (Sandbox Code Playgroud)

mch*_*wre 5

我猜sh export让 shell 假设导出为文件名(shell 将运行的一些脚本)。因此错误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"
Run Code Online (Sandbox Code Playgroud)

此外,最好在创建此 pod 时设置 env 变量

还要确保您的 pod 健康并处于就绪状态,根据kubectl get输出情况并非如此。