【问题标题】:Getting syntax error using kubectl exec as Unable to use a TTY使用 kubectl exec 获取语法错误,因为无法使用 TTY
【发布时间】:2020-10-24 16:29:57
【问题描述】:

kubectl exec 不适用于 xargs。可能缺少正确的语法。

我有 10 个节点来提取容器信息。就像运行命令为 cat /etc/nginx/nginx.conf 但我的第一个命令本身失败了。

kubectl get nodes -l nodeGroup=test -o wide | awk '{print $1}' | xargs -l1 -- sh -c 'kubectl exec -ti -n kube-system nginx-proxy-$1 sh' --

或

kubectl get nodes -l nodeGroup=test -o wide | awk '{print $1}' | xargs -l1 -- sh -c 'kubectl exec -ti -n kube-system nginx-proxy-$1 /bin/bash' --

输出:

Unable to use a TTY - input is not a terminal or the right kind of file

当我单独运行相同时,它可以工作。任何提示如何使用 xargs 循环它都在使用相同的终端。下面的作品,但上面的 xargs 没有。

▶ kubectl exec -ti -n kube-system                nginx-proxy-node1 sh
# 

【问题讨论】:

    标签: bash shell kubectl xargs


    【解决方案1】:

    代替

    ... | xargs -l1 -- sh -c 'kubectl exec -ti -n kube-system nginx-proxy-$1 sh' --
    

    试试这个

    ... | xargs -I{} -- sh -c 'kubectl exec -ti -n kube-system nginx-proxy-{} sh' --
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2020-04-14
    • 2018-01-19
    • 2019-10-01
    • 2017-02-14
    • 2015-06-01
    相关资源
    最近更新 更多