FlowCollector
is the schema for the network flows collection API, which pilots and configures the underlying deployments.
FlowCollector is the Schema for the network flows collection API, which pilots and configures the underlying deployments.
FlowCollector
is the schema for the network flows collection API, which pilots and configures the underlying deployments.
object
Property | Type | Description |
---|---|---|
|
|
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and might reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind is a string value representing the REST resource this object represents. Servers might infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
|
Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
object
FlowCollectorSpec
defines the desired state of the FlowCollector resource.
*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for instance, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only.
object
agent
deploymentModel
Property | Type | Description |
---|---|---|
|
|
Agent configuration for flows extraction. |
|
|
|
|
|
|
|
|
|
|
|
Kafka configuration, allowing to use Kafka as a broker as part of the flow collection pipeline. Available when the |
|
|
Loki, the flow store, client settings. |
|
|
Namespace where NetObserv pods are deployed. If empty, the namespace of the operator is going to be used. |
|
|
|
Agent configuration for flows extraction.
object
type
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
ebpf
describes the settings related to the eBPF-based flow reporter when spec.agent.type
is set to EBPF
.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Privileged mode for the eBPF Agent container. In general this setting can be ignored or set to false: in that case, the operator will set granular capabilities (BPF, PERFMON, NET_ADMIN, SYS_RESOURCE) to the container, to enable its correct operation. If for some reason these capabilities cannot be set, such as if an old kernel version not knowing CAP_BPF is in use, then you can turn on this mode for more global privileges. |
|
|
|
|
|
Sampling rate of the flow reporter. 100 means one flow on 100 is sent. 0 or 1 means all flows are sampled. |
debug
allows setting some aspects of the internal configuration of the eBPF agent. This section is aimed exclusively for debugging and fine-grained performance optimizations, such as GOGC and GOMAXPROCS env vars. Users setting its values do it at their own risk.
object
Property | Type | Description |
---|---|---|
|
|
|
resources
are the compute resources required by this container. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
object
Property | Type | Description |
---|---|---|
|
|
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
ipfix
- deprecated (*) - describes the settings related to the IPFIX-based flow reporter when spec.agent.type
is set to IPFIX
.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clusterNetworkOperator
defines the settings related to the OKD Cluster Network Operator, when available.
object
Property | Type | Description |
---|---|---|
|
|
Namespace where the config map is going to be deployed. |
ovnKubernetes
defines the settings of the OVN-Kubernetes CNI, when available. This configuration is used when using OVN’s IPFIX exports, without OKD. When using OKD, refer to the clusterNetworkOperator
property instead.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Namespace where OVN-Kubernetes pods are deployed. |
consolePlugin
defines the settings related to the OKD Console plugin, when available.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
autoscaler
spec of a horizontal pod autoscaler to set up for the plugin Deployment. Refer to HorizontalPodAutoscaler documentation (autoscaling/v2).
object
portNaming
defines the configuration of the port-to-service name translation
object
Property | Type | Description |
---|---|---|
|
|
Enable the console plugin port-to-service name translation |
|
|
|
quickFilters
configures quick filter presets for the Console plugin
array
QuickFilter
defines preset configuration for Console’s quick filters
object
filter
name
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Name of the filter, that will be displayed in Console |
resources
, in terms of compute resources, required by this container. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
object
Property | Type | Description |
---|---|---|
|
|
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
exporters
define additional optional exporters for custom consumption or storage.
array
FlowCollectorExporter
defines an additional exporter to send enriched flows to.
object
type
Property | Type | Description |
---|---|---|
|
|
IPFIX configuration, such as the IP address and port to send enriched IPFIX flows to. Unsupported (*). |
|
|
Kafka configuration, such as the address and topic, to send enriched flows to. |
|
|
|
IPFIX configuration, such as the IP address and port to send enriched IPFIX flows to. Unsupported (*).
object
targetHost
targetPort
Property | Type | Description |
---|---|---|
|
|
Address of the IPFIX external receiver |
|
|
Port for the IPFIX external receiver |
|
|
Transport protocol ( |
Kafka configuration, such as the address and topic, to send enriched flows to.
object
address
topic
Property | Type | Description |
---|---|---|
|
|
Address of the Kafka server |
|
|
TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093. Note that, when eBPF agents are used, the Kafka certificate needs to be copied in the agent namespace (by default it is |
|
|
Kafka topic to use. It must exist, NetObserv will not create it. |
TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093. Note that, when eBPF agents are used, the Kafka certificate needs to be copied in the agent namespace (by default it is netobserv-privileged
).
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
Enable TLS |
|
|
|
|
|
|
caCert
defines the reference of the certificate for the certificate Authority
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Name of the config map or secret containing certificates |
|
|
Namespace of the config map or secret containing certificates. If omitted, assumes the same namespace as where NetObserv is deployed. If the namespace is different, the config map or the secret will be copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
userCert
defines the user certificate reference and is used for mTLS (you can ignore it when using one-way TLS)
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Name of the config map or secret containing certificates |
|
|
Namespace of the config map or secret containing certificates. If omitted, assumes the same namespace as where NetObserv is deployed. If the namespace is different, the config map or the secret will be copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
Kafka configuration, allowing to use Kafka as a broker as part of the flow collection pipeline. Available when the spec.deploymentModel
is KAFKA
.
object
address
topic
Property | Type | Description |
---|---|---|
|
|
Address of the Kafka server |
|
|
TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093. Note that, when eBPF agents are used, the Kafka certificate needs to be copied in the agent namespace (by default it is |
|
|
Kafka topic to use. It must exist, NetObserv will not create it. |
TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093. Note that, when eBPF agents are used, the Kafka certificate needs to be copied in the agent namespace (by default it is netobserv-privileged
).
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
Enable TLS |
|
|
|
|
|
|
caCert
defines the reference of the certificate for the certificate Authority
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Name of the config map or secret containing certificates |
|
|
Namespace of the config map or secret containing certificates. If omitted, assumes the same namespace as where NetObserv is deployed. If the namespace is different, the config map or the secret will be copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
userCert
defines the user certificate reference and is used for mTLS (you can ignore it when using one-way TLS)
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Name of the config map or secret containing certificates |
|
|
Namespace of the config map or secret containing certificates. If omitted, assumes the same namespace as where NetObserv is deployed. If the namespace is different, the config map or the secret will be copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
Loki, the flow store, client settings.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TLS client configuration for Loki status URL. |
|
|
|
|
|
|
|
|
|
|
|
TLS client configuration for Loki URL. |
|
|
|
TLS client configuration for Loki status URL.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
Enable TLS |
|
|
|
|
|
|
caCert
defines the reference of the certificate for the certificate Authority
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Name of the config map or secret containing certificates |
|
|
Namespace of the config map or secret containing certificates. If omitted, assumes the same namespace as where NetObserv is deployed. If the namespace is different, the config map or the secret will be copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
userCert
defines the user certificate reference and is used for mTLS (you can ignore it when using one-way TLS)
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Name of the config map or secret containing certificates |
|
|
Namespace of the config map or secret containing certificates. If omitted, assumes the same namespace as where NetObserv is deployed. If the namespace is different, the config map or the secret will be copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
TLS client configuration for Loki URL.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
Enable TLS |
|
|
|
|
|
|
caCert
defines the reference of the certificate for the certificate Authority
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Name of the config map or secret containing certificates |
|
|
Namespace of the config map or secret containing certificates. If omitted, assumes the same namespace as where NetObserv is deployed. If the namespace is different, the config map or the secret will be copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
userCert
defines the user certificate reference and is used for mTLS (you can ignore it when using one-way TLS)
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Name of the config map or secret containing certificates |
|
|
Namespace of the config map or secret containing certificates. If omitted, assumes the same namespace as where NetObserv is deployed. If the namespace is different, the config map or the secret will be copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
processor
defines the settings of the component that receives the flows from the agent, enriches them, generates metrics, and forwards them to the Loki persistence layer and/or any available exporter.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Port of the flow collector (host port). By convention, some values are forbidden. It must be greater than 1024 and different from 4500, 4789 and 6081. |
|
|
|
|
|
|
debug
allows setting some aspects of the internal configuration of the flow processor. This section is aimed exclusively for debugging and fine-grained performance optimizations, such as GOGC and GOMAXPROCS env vars. Users setting its values do it at their own risk.
object
Property | Type | Description |
---|---|---|
|
|
|
kafkaConsumerAutoscaler
is the spec of a horizontal pod autoscaler to set up for flowlogs-pipeline-transformer
, which consumes Kafka messages. This setting is ignored when Kafka is disabled. Refer to HorizontalPodAutoscaler documentation (autoscaling/v2).
object
Metrics
define the processor configuration regarding metrics
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Metrics server endpoint configuration for Prometheus scraper |
Metrics server endpoint configuration for Prometheus scraper
object
Property | Type | Description |
---|---|---|
|
|
The prometheus HTTP port |
|
|
TLS configuration. |
TLS configuration.
object
Property | Type | Description |
---|---|---|
|
|
TLS configuration when |
|
|
Select the type of TLS configuration: |
TLS configuration when type
is set to PROVIDED
.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Name of the config map or secret containing certificates |
|
|
Namespace of the config map or secret containing certificates. If omitted, assumes the same namespace as where NetObserv is deployed. If the namespace is different, the config map or the secret will be copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
resources
are the compute resources required by this container. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
object
Property | Type | Description |
---|---|---|
|
|
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |