You can install the Network Observability Operator using the OKD web console Operator Hub. When you install the Operator, it provides the FlowCollector
custom resource definition (CRD). You can set specifications in the web console when you create the FlowCollector
.
|
The actual memory consumption of the Operator depends on your cluster size and the number of resources deployed. Memory consumption might need to be adjusted accordingly. For more information refer to "Network Observability controller manager pod runs out of memory" in the "Important Flow Collector configuration considerations" section.
|
Prerequisites
-
If you choose to use Loki, install the Loki Operator version 5.7+.
-
You must have cluster-admin
privileges.
-
One of the following supported architectures is required: amd64
, ppc64le
, arm64
, or s390x
.
-
Any CPU supported by Red Hat Enterprise Linux (RHEL) 9.
-
Must be configured with OVN-Kubernetes or OpenShift SDN as the main network plugin, and optionally using secondary interfaces, such as Multus and SR-IOV.
|
This documentation assumes that your LokiStack instance name is loki . Using a different name requires additional configuration.
|
Procedure
-
In the OKD web console, click Operators → OperatorHub.
-
Choose Network Observability Operator from the list of available Operators in the OperatorHub, and click Install.
-
Select the checkbox Enable Operator recommended cluster monitoring on this Namespace
.
-
Navigate to Operators → Installed Operators. Under Provided APIs for Network Observability, select the Flow Collector link.
-
Navigate to the Flow Collector tab, and click Create FlowCollector. Make the following selections in the form view:
-
spec.agent.ebpf.Sampling: Specify a sampling size for flows. Lower sampling sizes will have higher impact on resource utilization. For more information, see the "FlowCollector API reference", spec.agent.ebpf
.
-
If you are using Loki, set the following specifications:
-
spec.loki.enable: Select the check box to enable storing flows in Loki.
-
spec.loki.url: Since authentication is specified separately, this URL needs to be updated to https://loki-gateway-http.netobserv.svc:8080/api/logs/v1/network
. The first part of the URL, "loki", must match the name of your LokiStack
.
-
spec.loki.authToken: Select the FORWARD
value.
-
spec.loki.statusUrl: Set this to https://loki-query-frontend-http.netobserv.svc:3100/
. The first part of the URL, "loki", must match the name of your LokiStack
.
-
spec.loki.tls.enable: Select the checkbox to enable TLS.
-
spec.loki.statusTls: The enable
value is false by default.
For the first part of the certificate reference names: loki-gateway-ca-bundle
, loki-ca-bundle
, and loki-query-frontend-http
,loki
, must match the name of your LokiStack
.
-
Optional: If you are in a large-scale environment, consider configuring the FlowCollector
with Kafka for forwarding data in a more resilient, scalable way. See "Configuring the Flow Collector resource with Kafka storage" in the "Important Flow Collector configuration considerations" section.
-
Optional: Configure other optional settings before the next step of creating the FlowCollector
. For example, if you choose not to use Loki, then you can configure exporting flows to Kafka or IPFIX. See "Export enriched network flow data to Kafka and IPFIX" and more in the "Important Flow Collector configuration considerations" section.
-
Click Create.
Verification
To confirm this was successful, when you navigate to Observe you should see Network Traffic listed in the options.
In the absence of Application Traffic within the OKD cluster, default filters might show that there are "No results", which results in no visual flow. Beside the filter selections, select Clear all filters to see the flow.
|
If you installed Loki using the Loki Operator, it is advised not to use querierUrl , as it can break the console access to Loki. If you installed Loki using another type of Loki installation, this does not apply.
|