kubectl exec: В доступе отказано - PullRequest
0 голосов
/ 01 января 2019

Попробуйте добавить некоторые новые записи в / 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

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Существует действительно проблема синтаксического анализа, потому что $ips содержит новые строки.

Попробуйте с

$ ips=$(cat ips.txt); kubectl exec myspark-worker-5976b685b4-8bcbl -- sh -c "echo \"$ips\" >> /etc/hosts"
0 голосов
/ 01 января 2019

Я думаю, что вы хотите записать файл внутри контейнера, но bash анализирует это на вашей рабочей станции и пытается применить перенаправление локально.Вместо этого используйте kubectl exec ... -- sh -c “...”.

...