如何让 k8 POD 中的任何命令 运行 输出到 stout?
How to get output of any command run inside k8 POD to stout?
我的要求是在我的 POD 中有多个进程 运行ning,我想收集所有进程的指标,即(CPU 和内存以及所有进程的其他详细信息)。现在,我想将我在 pod 中 运行 的任何命令的输出写入 stout .
A container engine handles and redirects any output generated to a containerized application's stdout
and stderr
streams. For example, the Docker container engine redirects those two streams to a logging driver, which is configured in Kubernetes to write to a file in JSON format.
通常是PID1进程的stdout和stderr。
因此,在 k8s Pod 中尝试以下命令:
$ cat /proc/meminfo >> /proc/1/fd/1
然后您将在 pod 的日志中看到标准输出:
$ kubectl logs yourPodName
...
MemTotal: 12807408 kB
MemFree: 10283624 kB
MemAvailable: 11461168 kB
Buffers: 50996 kB
Cached: 1345376 kB
...
要从命令中写入 stdout
和 stderr
,运行 就像这样:
$ cat /proc/meminfo 1>> /proc/1/fd/1 2>> /proc/1/fd/2
我的要求是在我的 POD 中有多个进程 运行ning,我想收集所有进程的指标,即(CPU 和内存以及所有进程的其他详细信息)。现在,我想将我在 pod 中 运行 的任何命令的输出写入 stout .
A container engine handles and redirects any output generated to a containerized application's
stdout
andstderr
streams. For example, the Docker container engine redirects those two streams to a logging driver, which is configured in Kubernetes to write to a file in JSON format.
通常是PID1进程的stdout和stderr。
因此,在 k8s Pod 中尝试以下命令:
$ cat /proc/meminfo >> /proc/1/fd/1
然后您将在 pod 的日志中看到标准输出:
$ kubectl logs yourPodName
...
MemTotal: 12807408 kB
MemFree: 10283624 kB
MemAvailable: 11461168 kB
Buffers: 50996 kB
Cached: 1345376 kB
...
要从命令中写入 stdout
和 stderr
,运行 就像这样:
$ cat /proc/meminfo 1>> /proc/1/fd/1 2>> /proc/1/fd/2