2017-07-19 49 views
0

我正尝试使用kubectl exec编辑我本地机器中的文件,但它不工作!编辑Kubernetes中的荚中的文件

例如: 假设我正在使用Ubuntu并拥有一个名为“Pod1”的Pod,我想编辑一个名为/列表Pod1内的文件。我正在这样做 kubectl exec Pod1 cat/lists >>“HELLO” 但它不工作,请如何解决这类问题!

回答

2

你不能cat本地文件结束。一种方式是在bash变量将文件存储在第一

lists=$(cat /lists); kubectl exec Pod1 "echo $lists >> HELLO" 

发送之前但是,这不是任何一个伟大的方式。您是否试图通过以这种方式写入文件来调试应用程序或自动执行某些过程?如果是后者,我可以建议使用ConfigMap吗?

+0

我只是想能够从我的本地机器配置正在运行的窗格! Will ConfigMap会诀窍吗? –

+0

“配置”是什么意思?你需要配置你的应用程序在pod内运行吗?像注入环境变量? – danielepolencic

+0

@ hassan-shaitou这是一个永久配置还是临时运行时配置?无论哪种方式,k8s kosher的方式是让应用程序读取ConfigMap。如果此配置偶尔发生更改,请编写应用程序以监视配置文件并在其更改时重新加载。如果您无法控制应用程序的工作方式,但可以重新启动Pod,然后更新ConfigMap并杀死现有的Pod。你必须在做出真正的建议之前详细说明你的行动。 –