挂载容器标准输出日志
更新时间:2025-06-05
概述
本文介绍如何通过挂载 stdout flexVolume,实现将容器的标准输出日志以 root 权限挂载到 BCI Pod 内。
配置示例
stdout volume 定义
Plain Text
1volumes:
2- name: stdout # volume 名称可自定义
3 flexVolume:
4 driver: "k8s/sidecar-stdout"
Pod 示例
Plain Text
1apiVersion: v1
2kind: Pod
3metadata:
4 name: stdout-test
5spec:
6 containers:
7 - command:
8 - /bin/sh
9 - -c
10 - 'i=0; while true; do echo "{\"time\":\"$(date -u +"%FT%T.999Z")\",\"INFO\":$i}"; i=$((i+1)); sleep 10; done'
11 image: registry.baidubce.com/glen-centos/centos:centos6
12 imagePullPolicy: Always
13 name: stdout-test
14 resources:
15 limits:
16 cpu: 250m
17 memory: 0.5Gi
18 terminationMessagePath: /dev/termination-log
19 terminationMessagePolicy: File
20 volumeMounts:
21 - name: stdout
22 mountPath: /stdout # 可自定义路径。如果同时对标准输出进行日志采集,需要确保挂载路径是 /stdout
23 volumes:
24 - name: stdout
25 flexVolume:
26 driver: "k8s/sidecar-stdout"
27 nodeSelector:
28 type: virtual-kubelet
29 terminationGracePeriodSeconds: 30
30 tolerations:
31 - effect: NoSchedule
32 key: virtual-kubelet.io/provider
33 operator: Equal
34 value: baidu
部署 Pod 并查看挂载结果
Plain Text
1kubectl apply -f stdout-test.yaml
2kubectl exec -it stdout-test -- /bin/bash
3ls -al /stdout
4ls -al /stdout/stdout-test
您可以使用 修改实例密码接口 为指定实例重置密码。