Improve support of Beats on Kubernetes restricted environments #19600
Labels
containers
Related to containers use case
discuss
Issue needs further discussion.
meta
Stalled
Team:Integrations
Label for the Integrations team
Team:Platforms
Label for the Integrations - Platforms team
In general, monitoring systems with Beats requires certain privileges, but they can work with limited functionality without them.
This issue keeps track of known issues running Beats on Kubernetes restricted environments, to explore alternatives that would allow to use more functionality with less privileges. Some of the issues will probably apply to other environments too.
Restricted environments have some limitations, for example the restricted Security Context Constraints in Openshift include:
hostPath
).runAsUser: 0
is not allowed).Known issues
Data persistence
Data persistence is required in beats in some features:
meta.json
(with stored UUID, used in stack monitoring?)Beats reference manifests currently rely on being able to create a directory in the host with
hostPath
. This is not possible in restricted environments becausehostPath
is not allowed, and because directories created byhostPath
can only be written by root (uid 0 on host).Possible improvements/alternatives:
StatefulSet
on cases whereDaemonSet
is not needed.Auditing
Auditing with auditbeat requires to be run with audit capabilities, on host pid namespace and with uid 0.
There is probably no possible alternative, but we could do some improvements:
Host metadata
Retrieving host metadata requires to run beats on host namespace, this is not allowed on restricted environments.
Possible alternatives/improvements:
spec.nodeName
as the host name, though not always the same,status.hostIP
as the host IP).Host network monitoring
Monitoring the host network relies on running Beats on the host network namespace.
Possible alternatives/improvements:
/proc
.The text was updated successfully, but these errors were encountered: