我跑
kubectl edit deployment
要更改我的一个文件的版本(这个命令在我的文本编辑器中打开一个临时文件,然后我通常编辑和关闭这个临时文件),甚至在我在我的文本编辑器中关闭这个临时文件之前,我可以在bash中看到下面的注释。
Edit cancelled, no changes made.
在我安装fish之前,它是可以的,我试图切换到bash,但是它也没有帮助。
我怎么才能修好它?
发布于 2019-06-28 17:57:38
像这样的事情很可能是因为它打开了一个分叉而不是留下的编辑器。
这意味着您需要将$EDITOR设置为等待的编辑器。例如,nano
、vim
或emacs
应该可以工作,例如,如果您使用崇高的文本,则必须使用subl -w
显式地告诉它等待。
目前还不清楚你在运行哪个外壳。如果是bash,运行export EDITOR="subl -w"
,在fish中运行set -gx EDITOR subl -w
(如果使用fish <3.0,则运行"subl -w"
)。
发布于 2019-07-01 16:29:31
发布于 2021-01-29 12:08:43
使用vim时,当您尝试保存时,当您退出编辑器时,它会保存在/tmp/
路径中指定的已编辑副本以及错误消息。
这相当于使用get
资源,在文本编辑器中编辑它,然后使用更新的版本应用资源:
kubectl get deployment my-nginx -o yaml > /tmp/nginx.yaml
vim /tmp/nginx.yaml
kubectl apply -f /tmp/nginx.yaml
deployment.apps/my-nginx configured
然后删除文件
rm /tmp/nginx.yaml
因此,基本上对保存在apply
中的文件使用/tmp/<file.yaml>
https://stackoverflow.com/questions/56811177
复制相似问题