Kubernetes kubectl exec:权限被拒绝

Kubernetes kubectl exec:权限被拒绝,kubernetes,kubectl,Kubernetes,Kubectl,尝试将一些新条目附加到pods中的/etc/hosts,但失败: $ ips=$(cat ips.txt); kubectl exec -u root myspark-master-5d6656bd84-5zf2h echo "$ips" >> /etc/hosts -sh: /etc/hosts: Permission denied 如何解决这个问题 谢谢 更新 $ ips=$(cat ips.txt); kubectl exec myspark-worker-5976b685b

尝试将一些新条目附加到pods中的/etc/hosts,但失败:

$ ips=$(cat ips.txt); kubectl exec -u root myspark-master-5d6656bd84-5zf2h echo "$ips" >> /etc/hosts
-sh: /etc/hosts: Permission denied
如何解决这个问题

谢谢

更新

$ ips=$(cat ips.txt); kubectl exec myspark-worker-5976b685b4-8bcbl -- sh -c "echo $ips >> /etc/hosts"
sh: 2: 10.233.88.5: not found
sh: 3: 10.233.96.2: not found
sh: 4: 10.233.86.5: not found
10.233.88.4 myspark-master-5d6656bd84-dxhxc
command terminated with exit code 127

我认为您的意思是写入容器内的文件,但是bash正在您的工作站上解析该文件,并尝试在本地应用重定向。使用
kubectl exec…——sh-c“…”

确实存在解析问题,因为
$ips
包含新行

试一试

$ ips=$(cat ips.txt); kubectl exec myspark-worker-5976b685b4-8bcbl -- sh -c "echo \"$ips\" >> /etc/hosts"

我尝试了
$ips=$(cat ips.txt);kubectl exec myspark-worker-5976b685b4-8bcbl--sh-c“echo$ips>/etc/hosts”sh:2:10.233.88.5:未找到sh:3:10.233.96.2:未找到sh:4:10.233.86.5:未找到10.233.88.4 myspark-master-5d66565656bd84-dxc命令终止,退出代码127
,请记住,这是非常字面的。文件中的换行表示命令中的换行。