2017-07-19 52 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。你必須在做出真正的建議之前詳細說明你的行動。 –