В вашей команде отсутствует обратный удар. Но даже если вы положите его туда, это не сработает. Причина в том, что когда вы делаете kubectl edit ...
, он редактирует файл в vim. Я не уверен, что sed будет работать на vim. Даже если это так, выходные данные отправляются в файл, поэтому вы получаете ошибку Vim: Warning: Output is not to a terminal
, которую я не знаю, как ее решить.
Я бы порекомендовал вам получить файл и сохранить его. Замените нужные параметры и запустите его снова:
kubectl get deploy tiller-deploy -n kube-system -o yaml > tiller.yaml && sed -i "s/automountServiceAccountToken:.*$/automountServiceAccountToken: true/g" tiller.yaml && kubectl replace -f tiller.yaml
Я попробовал команду выше, и она сработала.
Примечание: не нужно добавлять -n kube-system
, поскольку файл yaml уже содержит пространство имен.