我浏览了文档来使用以下命令编辑 kubernetes 资源kubectl edit https://kubernetes-v1-4.github.io/docs/user-guide/kubectl/kubectl_edit/命令。执行命令后,YAML 格式的文件将在编辑器中打开,我可以在其中根据要求更改值并保存。我试图通过以下方式执行这些步骤sed
。如何实现以下步骤?
- Execute
kubectl edit
对于部署资源
- 设置一个值从
true
to false
(使用sed)
- 保存更改
我尝试通过以下方式实现这一目标:
$ kubectl edit deployment tiller-deploy -n kube-system | \
sed -i "s/\(automountServiceAccountToken:.*$\)/automountServiceAccountToken: true/g"`
您的命令缺少反引号。但即使你把它放在那里,它也不会起作用。原因是因为当你这样做时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 文件已经包含命名空间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)