As a DaemonSet
to ensure that there’s a running instance on each node of the cluster. These
instances are used to retrieve most metrics from the host, such as system
metrics, Docker stats, and metrics from all the services running on top of
Kubernetes.

As a single Metricbeat instance created using a Deployment.
This instance is used to retrieve metrics that are unique for the whole
cluster, such as Kubernetes events or
kube-state-metrics.

Everything is deployed under the kube-system namespace by default. To change
the namespace, modify the manifest file.

If you are using Kubernetes 1.7 or earlier: Metricbeat uses a hostPath volume to persist internal data. It’s located
under /var/lib/metricbeat-data. The manifest uses folder autocreation (DirectoryOrCreate), which was introduced in
Kubernetes 1.8. You need to remove type: DirectoryOrCreate from the manifest and create the host folder yourself.