Document better why we use hostPort on node-exporter
Signed-off-by: ArthurSens <arthursens2005@gmail.com>
This commit is contained in:
@@ -6,6 +6,6 @@ The scan can be run locally via `make kubescape`.
|
||||
While we aim for best practices in terms of security by default, due to the nature of the project, we are required to make the exceptions in the following components:
|
||||
|
||||
#### node-exporter
|
||||
* Host Port is set. https://hub.armo.cloud/docs/c-0044 is not relevant since node-exporter is considered as a core platform component running as a DaemonSet.
|
||||
* Host Port is set. [Kubernetes already sets a Host Port by default when Host Network is enabled.](https://github.com/kubernetes/kubernetes/blob/1945829906546caf867992669a0bfa588edf8be6/pkg/apis/core/v1/defaults.go#L402-L411). Since nothing can be done here, we configure it to our preference port.
|
||||
* Host PID is set to `true`, since node-exporter requires direct access to the host namespace to gather statistics.
|
||||
* Host Network is set to `true`, since node-exporter requires direct access to the host network to gather statistics.
|
||||
|
||||
@@ -201,6 +201,12 @@ function(params) {
|
||||
// used by the service is tied to the proxy container. We *could*
|
||||
// forgo declaring the host port, however it is important to declare
|
||||
// it so that the scheduler can decide if the pod is schedulable.
|
||||
//
|
||||
// Although hostPort might not seem necessary, kubernetes adds it anyway
|
||||
// when running with 'hostNetwork'. We might as well make sure it works
|
||||
// the way we want.
|
||||
//
|
||||
// See also: https://github.com/kubernetes/kubernetes/blob/1945829906546caf867992669a0bfa588edf8be6/pkg/apis/core/v1/defaults.go#L402-L411
|
||||
ports: [
|
||||
{ name: 'https', containerPort: ne._config.port, hostPort: ne._config.port },
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user