Skip to content

Commit 2e8f42b

Browse files
authored
Doc: more vendor neutrality (#2459)
* Doc: more vendor neutrality * even more netutrality
1 parent 7add574 commit 2e8f42b

File tree

4 files changed

+33
-44
lines changed

4 files changed

+33
-44
lines changed

README.md

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,29 @@
44
[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/NetObserv)](https://artifacthub.io/packages/helm/netobserv/netobserv-operator)
55
[![Go Report Card](https://goreportcard.com/badge/github.com/netobserv/network-observability-operator)](https://goreportcard.com/report/github.com/netobserv/network-observability-operator)
66

7-
NetObserv Operator is a Kubernetes / OpenShift operator for network observability. It deploys a monitoring pipeline that consists in:
8-
- an eBPF agent, that generates network flows from captured packets
9-
- flowlogs-pipeline, a component that collects, enriches and exports these flows
10-
- when used in OpenShift, a Console plugin for flows visualization with powerful filtering options, a topology representation and more
7+
NetObserv Operator is a Kubernetes operator for network observability. It deploys a monitoring pipeline that consists in:
8+
- An eBPF agent, that generates network flows from captured packets.
9+
- Flowlogs-pipeline, a component that collects, enriches and exports these flows.
10+
- A web console for flows visualization with powerful filtering options, a topology representation, a network health view, etc.
1111

1212
Flow data is then available in multiple ways, each optional:
1313

14-
- As Prometheus metrics
15-
- As raw flow logs stored in Loki
16-
- As raw flow logs exported to a collector
14+
- As Prometheus metrics.
15+
- As raw flow logs stored in Loki.
16+
- As raw flow logs exported to a collector via Kafka, OpenTelemetry or IPFIX.
1717

1818
## Getting Started
1919

2020
You can install the NetObserv Operator using [Helm](https://helm.sh/), or directly from sources.
2121

22-
In OpenShift, NetObserv is named Network Observability operator and can be found in OperatorHub as an OLM operator. This section does not apply to it: please refer to the [OpenShift documentation](docs.redhat.com/en/documentation/openshift_container_platform/latest/html/network_observability/installing-network-observability-operators) in that case.
23-
24-
> [!IMPORTANT]
25-
> NetObserv community was previously distributed via [OperatorHub](https://operatorhub.io/operator/netobserv-operator). This installation method is replaced with a helm chart. If you previously installed NetObserv community from OperatorHub, we recommend that you uninstall it, and re-install using the helm chart. The operation should not cause any data loss.
22+
> [!TIP]
23+
NetObserv can be used in downstream products, which may provide their own documentation. If you are using such a product, please refer to that documentation instead:
24+
>
25+
> - On OpenShift: [see Network Observability operator](https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/network_observability/installing-network-observability-operators).
2626
2727
### Pre-requisite
2828

29-
The following architectures are supported: amd64, arm64, ppc64le and s390x.
29+
The following architectures are supported: _amd64_, _arm64_, _ppc64le_ and _s390x_.
3030

3131
NetObserv has a couple of dependencies that must be installed on your cluster:
3232

@@ -54,12 +54,10 @@ Loki is not mandatory but improves the overall experience with NetObserv.
5454
helm repo add netobserv https://netobserv.io/static/helm/ --force-update
5555

5656
# Standalone install, including dependencies:
57-
helm install my-netobserv -n netobserv --create-namespace --set standaloneConsole.enable=true --set install.loki=true --set install.prom-stack=true netobserv/netobserv-operator
57+
helm install my-netobserv -n netobserv --create-namespace --set install.loki=true --set install.prom-stack=true netobserv/netobserv-operator
5858

5959
# OR minimal install (Prometheus/Loki must be installed separately)
60-
helm install my-netobserv -n netobserv --create-namespace --set standaloneConsole.enable=true netobserv/netobserv-operator
61-
62-
# If you're in OpenShift, you can omit "--set standaloneConsole.enable=true" to use the Console plugin instead.
60+
helm install my-netobserv -n netobserv --create-namespace netobserv/netobserv-operator
6361
```
6462

6563
You can now create a `FlowCollector` resource. Refer to the [Configuration section](#configuration) of this document. A short `FlowCollector` should work, using most default values, plus with the standalone console enabled:
@@ -95,7 +93,6 @@ EOF
9593
```
9694

9795
A few remarks:
98-
- `spec.consolePlugin.standalone` can be set to true to deploy the [web console](https://github.com/netobserv/network-observability-console-plugin) as a standalone, as opposed to an OpenShift Console plugin. If you're in OpenShift, it's not recommended to set this mode, so you get a more integrated experience with the Console.
9996
- You can change the Prometheus and Loki URLs depending on your installation. This example works if you use the "standalone" installation described above, with `install.loki=true` and `install.prom-stack=true`. Check more configuration options for [Prometheus](https://github.com/netobserv/network-observability-operator/blob/main/docs/FlowCollector.md#flowcollectorspecprometheus-1) and [Loki](https://github.com/netobserv/network-observability-operator/blob/main/docs/FlowCollector.md#flowcollectorspecloki-1).
10097
- You can enable networkPolicy, which makes the operator lock down the namespaces that it manages; however, this is highly dependent on your cluster topology, and may cause malfunctions, such as preventing NetObserv pods from communicating with the Kube API server.
10198
- The processor env `SERVER_NOTLS` means that the communication between eBPF agents and Flowlogs-pipeline won't be encrypted. To enable TLS, you need to supply the TLS certificates to Flowlogs-pipeline (a Secret named `flowlogs-pipeline-cert`), and the CA to the eBPF agents (a ConfigMap named `flowlogs-pipeline-ca` in the privileged namespace). [Check this issue](https://github.com/netobserv/network-observability-operator/issues/2360) if you want to help making it simpler.
@@ -141,11 +138,9 @@ Refer to the [Configuration section](#configuration) of this document.
141138

142139
Historically, Grafana Loki was a strict dependency but it isn't anymore. If you don't want to install it, you can still get the Prometheus metrics, and/or export raw flows to a custom collector. But be aware that some of the Console plugin features will be disabled. For instance, you will not be able to view raw flows there, and the metrics / topology will have a more limited level of details, missing information such as pods or IPs.
143140

144-
### OpenShift Console
145-
146-
_Pre-requisite: OpenShift 4.10 or above_
141+
### Web Console
147142

148-
If the OpenShift Console is detected in the cluster, a console plugin is deployed when a `FlowCollector` is installed. It adds new pages and tabs to the console:
143+
When `FlowCollector` is installed, a standalone web console is deployed or, when available, a console plugin. It provides the following views:
149144

150145
#### Overview metrics
151146

@@ -168,12 +163,6 @@ The table view shows raw flows, ie. non aggregated, still with the same filterin
168163

169164
![Flow table](./docs/assets/network-traffic-main.png)
170165

171-
#### Integration with existing console views
172-
173-
These views are accessible directly from the main menu, and also as contextual tabs for any Pod, Deployment, Service (etc.) in their details page, with filters set to focus on that particular resource.
174-
175-
![Contextual topology](./docs/assets/topology-pod.png)
176-
177166
## Configuration
178167

179168
The `FlowCollector` resource is used to configure the operator and its managed components. A comprehensive documentation is [available here](./docs/FlowCollector.md), and a full sample file [there](./config/samples/flows_v1beta2_flowcollector.yaml).
@@ -267,7 +256,7 @@ More information about multi-tenancy can be found on [this page](https://github.
267256

268257
For a production deployment, it is highly recommended to lock down the `netobserv` namespace (or wherever NetObserv is installed) using network policies.
269258

270-
You can set `spec.networkPolicy.enable` to `true` to make NetObserv install automatically a network policy. The policy may need to be fined-tuned for your environment (e.g. for access to kube apiserver, or Prometheus). It has been mostly tested on OpenShift.
259+
You can set `spec.networkPolicy.enable` to `true` to make NetObserv install automatically a network policy. The policy may need to be fined-tuned for your environment (e.g. for access to kube apiserver, or Prometheus), by adding authorized namespaces.
271260

272261
A simple example of network policy is [provided here](https://github.com/netobserv/documents/blob/main/examples/lockdown-netobserv.yaml).
273262

RELEASE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ When all component drafts are ready, you can test the helm chart on your cluster
4545
helm repo add cert-manager https://charts.jetstack.io
4646
helm install my-cert-manager cert-manager/cert-manager --set crds.enabled=true
4747

48-
helm install my-netobserv -n netobserv --create-namespace --set standaloneConsole.enable=true --set install.loki=true --set install.prom-stack=true ./helm
48+
helm install my-netobserv -n netobserv --create-namespace --set install.loki=true --set install.prom-stack=true ./helm
4949

5050
cat <<EOF | kubectl apply -f -
5151
apiVersion: flows.netobserv.io/v1beta2

helm/README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
11
# NetObserv Operator
22

3-
NetObserv Operator is a Kubernetes / OpenShift operator for network observability. It deploys a monitoring pipeline that consists in:
4-
- an eBPF agent, that generates network flows from captured packets
5-
- flowlogs-pipeline, a component that collects, enriches and exports these flows
6-
- when used in OpenShift, a Console plugin for flows visualization with powerful filtering options, a topology representation and more
3+
NetObserv Operator is a Kubernetes operator for network observability. It deploys a monitoring pipeline that consists in:
4+
- An eBPF agent, that generates network flows from captured packets.
5+
- Flowlogs-pipeline, a component that collects, enriches and exports these flows.
6+
- A web console for flows visualization with powerful filtering options, a topology representation, a network health view, etc.
77

88
Flow data is then available in multiple ways, each optional:
99

10-
- As Prometheus metrics
11-
- As raw flow logs stored in Loki
12-
- As raw flow logs exported to a collector
10+
- As Prometheus metrics.
11+
- As raw flow logs stored in Loki.
12+
- As raw flow logs exported to a collector via Kafka, OpenTelemetry or IPFIX.
1313

1414
## Getting Started
1515

1616
You can install the NetObserv Operator using [Helm](https://helm.sh/), or directly from sources.
1717

18-
In OpenShift, NetObserv is named Network Observability operator and can be found in OperatorHub as an OLM operator. This section does not apply to it: please refer to the [OpenShift documentation](docs.redhat.com/en/documentation/openshift_container_platform/latest/html/network_observability/installing-network-observability-operators) in that case.
18+
> [!TIP]
19+
NetObserv can be used in downstream products, which may provide their own documentation. If you are using such a product, please refer to that documentation instead:
20+
>
21+
> - On OpenShift: [see Network Observability operator](https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/network_observability/installing-network-observability-operators).
1922
2023
### Pre-requisite
2124

22-
The following architectures are supported: amd64, arm64, ppc64le and s390x.
25+
The following architectures are supported: _amd64_, _arm64_, _ppc64le_ and _s390x_.
2326

2427
NetObserv has a couple of dependencies that must be installed on your cluster:
2528

@@ -47,12 +50,10 @@ Loki is not mandatory but improves the overall experience with NetObserv.
4750
helm repo add netobserv https://netobserv.io/static/helm/ --force-update
4851

4952
# Standalone install, including dependencies:
50-
helm install my-netobserv -n netobserv --create-namespace --set standaloneConsole.enable=true --set install.loki=true --set install.prom-stack=true netobserv/netobserv-operator
53+
helm install my-netobserv -n netobserv --create-namespace --set install.loki=true --set install.prom-stack=true netobserv/netobserv-operator
5154

5255
# OR minimal install (Prometheus/Loki must be installed separately)
53-
helm install my-netobserv -n netobserv --create-namespace --set standaloneConsole.enable=true netobserv/netobserv-operator
54-
55-
# If you're in OpenShift, you can omit "--set standaloneConsole.enable=true" to use the Console plugin instead.
56+
helm install my-netobserv -n netobserv --create-namespace netobserv/netobserv-operator
5657
```
5758

5859
You can now create a `FlowCollector` resource ([full API reference](https://github.com/netobserv/network-observability-operator/blob/main/docs/FlowCollector.md#flowsnetobserviov1beta2)). A short `FlowCollector` should work, using most default values, plus with the standalone console enabled:
@@ -88,7 +89,6 @@ EOF
8889
```
8990

9091
A few remarks:
91-
- `spec.consolePlugin.standalone` can be set to true to deploy the [web console](https://github.com/netobserv/network-observability-console-plugin) as a standalone, as opposed to an OpenShift Console plugin. If you're in OpenShift, it's not recommended to set this mode, so you get a more integrated experience with the Console.
9292
- You can change the Prometheus and Loki URLs depending on your installation. This example works if you use the "standalone" installation described above, with `install.loki=true` and `install.prom-stack=true`. Check more configuration options for [Prometheus](https://github.com/netobserv/network-observability-operator/blob/main/docs/FlowCollector.md#flowcollectorspecprometheus-1) and [Loki](https://github.com/netobserv/network-observability-operator/blob/main/docs/FlowCollector.md#flowcollectorspecloki-1).
9393
- You can enable networkPolicy, which makes the operator lock down the namespaces that it manages; however, this is highly dependent on your cluster topology, and may cause malfunctions, such as preventing NetObserv pods from communicating with the Kube API server.
9494
- The processor env `SERVER_NOTLS` means that the communication between eBPF agents and Flowlogs-pipeline won't be encrypted. To enable TLS, you need to supply the TLS certificates to Flowlogs-pipeline (a Secret named `flowlogs-pipeline-cert`), and the CA to the eBPF agents (a ConfigMap named `flowlogs-pipeline-ca` in the privileged namespace).

helm/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ consolePlugin:
1616
image: quay.io/netobserv/network-observability-console-plugin
1717
version: v1.11.0-community
1818
standaloneConsole:
19-
enable: false
19+
enable: true
2020
image: quay.io/netobserv/network-observability-standalone-frontend
2121
version: v1.11.0-community
2222
operator:

0 commit comments

Comments
 (0)