我正在尝试将 pod 的 STDOUT 和 STDERR 写入 PVC 安装位置的文件中。
以下是我的部署的模板内容:
"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"
}
}
我可以在 pod 内看到正在写入的文件。但在安装的主机位置上看不到输出。
以下是执行命令
python demo_stdout.py >> /usr/share/1fed8c03-bc30-4889-952e-46f4c19b6ac1.log 2>&1
我做的一件事是输出文件和“terminationMessagePath”与我希望 pod 终止足迹和 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中的日志。但需要在同一个文件中获取 pod 终止日志。
有人可以帮我弄这个吗?