Commit Graph

9 Commits

Author SHA1 Message Date
Aravindh Puthiyaparambil
12345a14c3 kubelet: use env vars in node log query PS command
- Use environment variables to pass string arguments in the node log
  query PS command
- Split getLoggingCmd into getLoggingCmdEnv and getLoggingCmdArgs
  for better modularization
2025-01-13 11:43:04 -08:00
Stephen Kitt
16817e8f4f kubelet: use new securejoin API
Using securejoin.SecureJoin() ensures that paths are bound within a
given root, but it doesn't protect from changes happening between the
construction of the path and its use. securejoin 0.3 introduces a new
Linux-specific API which avoids this by making rooted open operations
explicit; this migrates kubelet's log retrieval to use that.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2024-11-05 13:58:29 +01:00
Stephen Kitt
7918e9f0cb Add a unit test for heuristicsCopyFileLogs
Signed-off-by: Stephen Kitt <skitt@redhat.com>
2024-10-23 11:58:52 +02:00
Kubernetes Prow Robot
801d460296 Merge pull request #120678 from rothgar/system-log-query
Fix systemd unit string matches
2023-10-26 20:56:28 +02:00
Kubernetes Prow Robot
7658fe8dc4 Merge pull request #118456 from testwill/bool-constant
chore: omit comparison to bool constant
2023-10-26 12:59:05 +02:00
Justin Garrison
62267518b8 Fix systemd unit string matchs 2023-09-14 12:17:09 -07:00
guoguangwu
0da37d8c54 chore: omit comparison to bool constant 2023-06-29 10:41:50 +08:00
mantuliu
84c14c65c6 Remove unnecessary type conversion
Signed-off-by: mantuliu <240951888@qq.com>
2023-04-21 16:20:50 +08:00
Aravindh Puthiyaparambil
d12696c20f kubelet: Expose simple journald and Get-WinEvent shims on the logs endpoint
Provide an administrator a streaming view of journal logs on Linux
systems using journalctl, and event logs on Windows systems using the
Get-WinEvent PowerShell cmdlet without them having to implement a client
side reader.

Only available to cluster admins.

The implementation for journald on Linux was originally done by Clayton
Coleman.

Introduce a heuristics approach to query logs

The logs query for node objects will follow a heuristics approach
when asked to query for logs from a service. If asked to get the
logs from a service foobar, it will first check if foobar logs to the
native OS service log provider. If unable to get logs from these, it
will attempt to get logs from /var/foobar, /var/log/foobar.log or
/var/log/foobar/foobar.log in that order.
The logs sub-command can also directly serve a file if the query looks
like a file.

Co-authored-by: Clayton Coleman <ccoleman@redhat.com>
Co-authored-by: Christian Glombek <cglombek@redhat.com>
2023-03-14 08:54:36 -07:00