PVC マウントの場所にあるファイルに書き込まれた Pod の STDOUT と STDERR を取得しようとしています。
以下は、私の展開のテンプレート コンテンツです。
"template": {
"metadata": {
"name": "python-stdout-app",
"creationTimestamp": null,
"labels": {
"k8s-app": "python-stdout-app"
}
},
"spec": {
"volumes": [
{
"name": "task-pv-volume",
"persistentVolumeClaim": {
"claimName": "task-pv-claim"
}
}
],
"containers": [
{
"name": "python-stdout-app",
"image": "trideep/demo-stdout-app",
"resources": {},
"volumeMounts": [
{
"name": "task-pv-volume",
"mountPath": "/usr/share"
}
],
"terminationMessagePath": "/usr/share/1fed8c03-bc30-4889-952e-46f4c19b6ac1.log",
"terminationMessagePolicy": "File",
"imagePullPolicy": "Always",
"securityContext": {
"privileged": false
}
}
],
"restartPolicy": "Always",
"terminationGracePeriodSeconds": 30,
"dnsPolicy": "ClusterFirst",
"securityContext": {},
"schedulerName": "default-scheduler"
}
}
ポッド内でファイルが書き込まれていることがわかります。しかし、マウントされたホストの場所に出力が表示されません。
以下は実行コマンドです
python demo_stdout.py >> /usr/share/1fed8c03-bc30-4889-952e-46f4c19b6ac1.log 2>&1
私がしたことの1つは出力ファイルであり、「terminationMessagePath」はポッド終了フットプリントとstdout / stderrを同じファイルに入れたいのと同じです。
Dockerfile は以下のとおりです。
FROM python:2.7.15-alpine3.9
WORKDIR /usr/src/app
COPY . .
CMD ["sh", "-c", "tail -f /dev/null"]
以下を試しました:
python demo_stdout.py >> /usr/share/test.log 2>&1
上記により、PVC でログが生成されます。ただし、ポッドの終了ログを同じファイルに取得する必要があります。
誰かがこれで私を助けることができますか?