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 |
|
|
Defines the desired state of the FlowCollector resource. |
Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
object
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 example, 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
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 Network Observability pods are deployed. |
|
|
|
Agent configuration for flows extraction.
object
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 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List of additional features to enable. They are all disabled by default. Enabling additional features might have performance impacts. Possible values are: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Privileged mode for the eBPF Agent container. In general this setting can be ignored or set to false: in that case, the operator sets 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. Requests cannot exceed Limits. 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 |
---|---|---|
|
|
|
|
|
enable the console plugin deployment. spec.Loki.enable must also be true |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 is displayed in the 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. Requests cannot exceed Limits. 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. |
|
|
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.
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 |
|
|
SASL authentication configuration. [Unsupported (*)]. |
|
|
TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093. |
|
|
Kafka topic to use. It must exist. Network Observability does not create it. |
SASL authentication configuration. [Unsupported (*)].
object
Property | Type | Description |
---|---|---|
|
|
Reference to the secret or config map containing the client ID |
|
|
Reference to the secret or config map containing the client secret |
|
|
Type of SASL authentication to use, or |
Reference to the secret or config map containing the client ID
object
Property | Type | Description |
---|---|---|
|
|
File name within the config map or secret |
|
|
Name of the config map or secret containing the file |
|
|
Namespace of the config map or secret containing the file. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
|
Type for the file reference: "configmap" or "secret" |
Reference to the secret or config map containing the client secret
object
Property | Type | Description |
---|---|---|
|
|
File name within the config map or secret |
|
|
Name of the config map or secret containing the file |
|
|
Namespace of the config map or secret containing the file. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
|
Type for the file reference: "configmap" or "secret" |
TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093.
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, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is 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, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is 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 |
|
|
SASL authentication configuration. [Unsupported (*)]. |
|
|
TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093. |
|
|
Kafka topic to use. It must exist, Network Observability does not create it. |
SASL authentication configuration. [Unsupported (*)].
object
Property | Type | Description |
---|---|---|
|
|
Reference to the secret or config map containing the client ID |
|
|
Reference to the secret or config map containing the client secret |
|
|
Type of SASL authentication to use, or |
Reference to the secret or config map containing the client ID
object
Property | Type | Description |
---|---|---|
|
|
File name within the config map or secret |
|
|
Name of the config map or secret containing the file |
|
|
Namespace of the config map or secret containing the file. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
|
Type for the file reference: "configmap" or "secret" |
Reference to the secret or config map containing the client secret
object
Property | Type | Description |
---|---|---|
|
|
File name within the config map or secret |
|
|
Name of the config map or secret containing the file |
|
|
Namespace of the config map or secret containing the file. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
|
Type for the file reference: "configmap" or "secret" |
TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093.
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, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is 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, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
Loki, the flow store, client settings.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
Set to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is 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, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is 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, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is 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, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is 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 |
|
|
Reference to the CA file 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, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
|
Type for the certificate reference: |
Reference to the CA file when type
is set to PROVIDED
.
object
Property | Type | Description |
---|---|---|
|
|
File name within the config map or secret |
|
|
Name of the config map or secret containing the file |
|
|
Namespace of the config map or secret containing the file. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
|
Type for the file reference: "configmap" or "secret" |
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. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |