6 回答

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

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
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ù)制命令將無(wú)法工作(并且不顯示錯(cuò)誤消息),因此我必須知道 pod 屬于哪個(gè)項(xiàng)目。
識(shí)別 pod 的項(xiàng)目/命名空間
<pod>
是 Pod 名稱(chēng)<namespace>
實(shí)際上是所屬的項(xiàng)目<pod>
。用于
oc project
列出當(dāng)前項(xiàng)目,或oc projects
列出所有項(xiàng)目或者或者在所有項(xiàng)目中搜索pod名稱(chēng)
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貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
從您的 oc CLI 工具執(zhí)行:
oc logs pod_name -n project_name > filename.log

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
這只是將日志打印到cmd提示符中,但我希望將整個(gè)日志從服務(wù)器復(fù)制到本地文件。這樣我就可以找到一些特定的行或錯(cuò)誤。有可能嗎?
/var/log/containers
檢查節(jié)點(diǎn)上哪些 Pod 正在運(yùn)行怎么樣?所有容器日志都是符號(hào)鏈接<pod name>_<namespace>_<container name>-<hash>
格式?;旧希?code>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貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊
從oc cli工具登錄,然后切換到項(xiàng)目,執(zhí)行:
oc logs <podname> >> <podname>.log

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