6 回答

TA貢獻1831條經(jīng)驗 獲得超4個贊
您可以使用rsync命令將文件復(fù)制到 pod 中或從 pod 中復(fù)制出來。
或者像您一樣使用logs
命令,然后重定向到一個文件,以便您可以在本地編輯它:
oc?logs??<podname>?&>?/path/to/file

TA貢獻1886條經(jīng)驗 獲得超2個贊
OC同步
按照上面的建議嘗試oc rsync
:
oc?rsync?<pod>:/path/to/file?localfilename
但就我而言,我得到了:
WARNING:?cannot?use?rsync:?rsync?not?available?in?container?<pod>
奧卡普
所以我嘗試了 try?oc cp
,它成功了:
oc?cp?<namespace>/<pod>:/path/to/file?local_filename
如果不指定命名空間,復(fù)制命令將無法工作(并且不顯示錯誤消息),因此我必須知道 pod 屬于哪個項目。
識別 pod 的項目/命名空間
<pod>
是 Pod 名稱<namespace>
實際上是所屬的項目<pod>
。用于
oc project
列出當(dāng)前項目,或oc projects
列出所有項目或者或者在所有項目中搜索pod名稱
oc get pods --all-namespaces | egrep <pod>
重要的提示
#?!!!Important?Note!!! ?#?Requires?that?the?'tar'?binary?is?present?in?your?container ?#?image.??If?'tar'?is?not?present,?'kubectl?cp'?will?fail.
?#?about?my?environment ?#?oc?version ?#?oc?3.6,?openshift?3.7,?kubernetes?1.7

TA貢獻1799條經(jīng)驗 獲得超8個贊
這只是將日志打印到cmd提示符中,但我希望將整個日志從服務(wù)器復(fù)制到本地文件。這樣我就可以找到一些特定的行或錯誤。有可能嗎?
/var/log/containers
檢查節(jié)點上哪些 Pod 正在運行怎么樣?所有容器日志都是符號鏈接<pod name>_<namespace>_<container name>-<hash>
格式?;旧?,oc logs
也指那里相同的容器日志。
例如>
node ~# ls -1 /var/log/containers alertmanager-main-0_openshift-monitoring_alertmanager-123...789.log alertmanager-main-0_openshift-monitoring_alertmanager-456...123.log alertmanager-main-0_openshift-monitoring_alertmanager-proxy-789...456.log ...

TA貢獻1794條經(jīng)驗 獲得超8個贊
對我來說,它的工作方式是將包含我打算從 pod 獲取的日志的文件夾復(fù)制到您登錄 pod 時 pod 發(fā)送給您的默認路徑,然后應(yīng)用:
oc cp <namespace>/<pod>:<myFolder> .
添加回答
舉報