Skip to content

Commit 45a91fd

Browse files
authored
Merge pull request #62901 from skrthomas/OSDOCS-6035
OSDOCS-6035: Network Observability w/o Loki
2 parents 16bf3d1 + afabc95 commit 45a91fd

10 files changed

+76
-48
lines changed

images/check-solid.png

596 Bytes
Loading

images/x-solid.png

1.12 KB
Loading

modules/network-observability-auth-multi-tenancy.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
:_content-type: PROCEDURE
66
[id="network-observability-auth-mutli-tenancy_{context}"]
7-
= Configure authorization and multi-tenancy
7+
= Configuring authorization and multi-tenancy
88
Define `ClusterRole` and `ClusterRoleBinding`. The `netobserv-reader` `ClusterRole` enables multi-tenancy and allows individual user access, or group access, to the flows stored in Loki. You can create a YAML file to define these roles.
99

1010
.Procedure

modules/network-observability-loki-install.adoc

Lines changed: 9 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -5,54 +5,22 @@
55
:_content-type: PROCEDURE
66
[id="network-observability-loki-installation_{context}"]
77
= Installing the Loki Operator
8-
It is recommended to install link:https://catalog.redhat.com/software/containers/openshift-logging/loki-rhel8-operator/622b46bcae289285d6fcda39[Loki Operator version 5.7], This version provides the ability to create a LokiStack instance using the `openshift-network` tenant configuration mode. It also provides fully automatic, in-cluster authentication and authorization support for Network Observability.
8+
The link:https://catalog.redhat.com/software/containers/openshift-logging/loki-rhel8-operator/622b46bcae289285d6fcda39[Loki Operator versions 5.7+] are the supported Loki Operator versions for Network Observabilty; these versions provide the ability to create a `LokiStack` instance using the `openshift-network` tenant configuration mode and provide fully-automatic, in-cluster authentication and authorization support for Network Observability. There are several ways you can install Loki. One way is by using the {product-title} web console Operator Hub.
99

1010
.Prerequisites
1111

1212
* Supported Log Store (AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)
13-
* {product-title} 4.10+.
14-
* Linux Kernel 4.18+.
15-
16-
//* <Any Loki install prerequisites for using with Network Observability operator?>
17-
18-
There are several ways you can install Loki. One way you can install the Loki Operator is by using the {product-title} web console Operator Hub.
19-
13+
* {product-title} 4.10+
14+
* Linux Kernel 4.18+
2015
2116
.Procedure
17+
. In the {product-title} web console, click *Operators* -> *OperatorHub*.
18+
. Choose *Loki Operator* from the list of available Operators, and click *Install*.
19+
. Under *Installation Mode*, select *All namespaces on the cluster*.
2220

23-
. Install the `Loki Operator` Operator:
24-
25-
.. In the {product-title} web console, click *Operators* -> *OperatorHub*.
26-
27-
.. Choose *Loki Operator* from the list of available Operators, and click *Install*.
28-
29-
.. Under *Installation Mode*, select *All namespaces on the cluster*.
30-
31-
.. Verify that you installed the Loki Operator. Visit the *Operators* → *Installed Operators* page and look for *Loki Operator*.
32-
33-
.. Verify that *Loki Operator* is listed with *Status* as *Succeeded* in all the projects.
34-
+
35-
. Create a `Secret` YAML file. You can create this secret in the web console or CLI.
36-
.. Using the web console, navigate to the *Project* -> *All Projects* dropdown and select *Create Project*. Name the project `netobserv` and click *Create*.
37-
.. Navigate to the Import icon, *+*, in the top right corner. Drop your YAML file into the editor. It is important to create this YAML file in the `netobserv` namespace that uses the `access_key_id` and `access_key_secret` to specify your credentials.
38-
39-
.. Once you create the secret, you should see it listed under *Workloads* -> *Secrets* in the web console.
40-
+
41-
The following shows an example secret YAML file:
42-
[source,yaml]
43-
----
44-
apiVersion: v1
45-
kind: Secret
46-
metadata:
47-
name: loki-s3
48-
namespace: netobserv
49-
stringData:
50-
access_key_id: QUtJQUlPU0ZPRE5ON0VYQU1QTEUK
51-
access_key_secret: d0phbHJYVXRuRkVNSS9LN01ERU5HL2JQeFJmaUNZRVhBTVBMRUtFWQo=
52-
bucketnames: s3-bucket-name
53-
endpoint: https://s3.eu-central-1.amazonaws.com
54-
region: eu-central-1
55-
----
21+
.Verification
22+
. Verify that you installed the Loki Operator. Visit the *Operators**Installed Operators* page and look for *Loki Operator*.
23+
. Verify that *Loki Operator* is listed with *Status* as *Succeeded* in all the projects.
5624

5725
[IMPORTANT]
5826
====
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Module included in the following assemblies:
2+
3+
// * networking/network_observability/installing-operators.adoc
4+
5+
:_content-type: PROCEDURE
6+
[id="network-observability-loki-secret_{context}"]
7+
= Creating a secret for Loki storage
8+
The Loki Operator supports a few log storage options, such as AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation. The following example shows how to create a secret for AWS S3 storage. The secret created in this example, `loki-s3`, is referenced in "Creating a LokiStack resource". You can create this secret in the web console or CLI.
9+
10+
. Using the web console, navigate to the *Project* -> *All Projects* dropdown and select *Create Project*. Name the project `netobserv` and click *Create*.
11+
. Navigate to the Import icon, *+*, in the top right corner. Paste your YAML file into the editor. It is important to create this YAML file in the `netobserv` namespace that uses the `access_key_id` and `access_key_secret` to specify your credentials.
12+
+
13+
The following shows an example secret YAML file for S3 storage:
14+
+
15+
[source,yaml]
16+
----
17+
apiVersion: v1
18+
kind: Secret
19+
metadata:
20+
name: loki-s3
21+
namespace: netobserv <1>
22+
stringData:
23+
access_key_id: QUtJQUlPU0ZPRE5ON0VYQU1QTEUK
24+
access_key_secret: d0phbHJYVXRuRkVNSS9LN01ERU5HL2JQeFJmaUNZRVhBTVBMRUtFWQo=
25+
bucketnames: s3-bucket-name
26+
endpoint: https://s3.eu-central-1.amazonaws.com
27+
region: eu-central-1
28+
----
29+
<1> The installation examples in this documentation use the same namespace, `netobserv`, across all components. You can optionally use a different namespace for the different components
30+
31+
.Verification
32+
* Once you create the secret, you should see it listed under *Workloads* -> *Secrets* in the web console.

modules/network-observability-lokistack-create.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
:_content-type: PROCEDURE
66
[id="network-observability-lokistack-create_{context}"]
7-
= Create a LokiStack custom resource
8-
It is recommended to deploy the LokiStack in the same namespace referenced by the FlowCollector specification, `spec.namespace`. You can use the web console or CLI to create a namespace, or new project.
7+
= Creating a LokiStack custom resource
8+
It is recommended to deploy the LokiStack in the same namespace referenced by the `FlowCollector` specification, `spec.namespace`. You can use the web console or CLI to create a namespace, or new project.
99

1010
.Procedure
1111

modules/network-observability-multitenancy.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
:_content-type: PROCEDURE
66
[id="network-observability-multi-tenancy{context}"]
7-
= Enable multi-tenancy in Network Observability
7+
= Enabling multi-tenancy in Network Observability
88
Multi-tenancy in the Network Observability Operator allows and restricts individual user access, or group access, to the flows stored in Loki. Access is enabled for project admins. Project admins who have limited access to some namespaces can access flows for only those namespaces.
99

1010
.Prerequisite

modules/network-observability-operator-install.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ You can install the Network Observability Operator using the {product-title} web
99

1010
.Prerequisites
1111

12-
* Installed Loki. It is recommended to install Loki using the link:https://catalog.redhat.com/software/containers/openshift-logging/loki-rhel8-operator/622b46bcae289285d6fcda39[Loki Operator version 5.7].
12+
* If you choose to use Loki, install the link:https://catalog.redhat.com/software/containers/openshift-logging/loki-rhel8-operator/622b46bcae289285d6fcda39[Loki Operator version 5.7+].
1313
* One of the following supported architectures is required: `amd64`, `ppc64le`, `arm64`, or `s390x`.
1414
* Any CPU supported by Red Hat Enterprise Linux (RHEL) 9
1515
@@ -36,6 +36,7 @@ This documentation assumes that your `LokiStack` instance name is `loki`. Using
3636
*** *certFile*: `service-ca.crt`, *name*: `kafka-gateway-ca-bundle`, and *type*: `configmap`.
3737
+
3838
You can also configure this option at a later time by directly editing the YAML. For more information, see _Export enriched network flow data_.
39+
* *loki.enable*: Set to `true`.
3940
* *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", should match the name of your LokiStack.
4041
* *loki.statusUrl*: Set this to `https://loki-query-frontend-http.netobserv.svc:3100/`. The first part of the URL, "loki", should match the name of your LokiStack.
4142
* *loki.authToken*: Select the `FORWARD` value.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// module included in the following assemblies:
2+
// networking/network_observability/installing-operators.adoc
3+
4+
:_content-type: REFERENCE
5+
[id="network-observability-without-loki_{context}"]
6+
= Network Observability without Loki
7+
You can use Network Observability without Loki by not performing the Loki installation steps in the following section and instead using exporters, such as Kafka or IPFIX. The following table compares available features with and without Loki:
8+
9+
.Comparison of feature availability with and without Loki
10+
[options="header"]
11+
|===
12+
| | *With Loki* | *Without Loki*
13+
| *Exporters* | image:check-solid.png[,10] | image:check-solid.png[,10]
14+
| *Flow-based dashboards* | image:check-solid.png[,10] | image:check-solid.png[,10]
15+
| *Traffic Flow Overview, Table and Topology views* | image:check-solid.png[,10] | image:x-solid.png[,10]
16+
| *Quick Filters* | image:check-solid.png[,10] | image:x-solid.png[,10]
17+
| *{product-title} console Network Traffic tab integration* | image:check-solid.png[,10] | image:x-solid.png[,10]
18+
|===
19+

networking/network_observability/installing-operators.adoc

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,28 @@ include::_attributes/common-attributes.adoc[]
55
:context: network_observability
66

77
toc::[]
8-
Installing Loki is a prerequisite for using the Network Observability Operator. It is recommended to install Loki using the Loki Operator; therefore, these steps are documented below prior to the Network Observability Operator installation.
8+
Installing Loki is a recommended prerequisite for using the Network Observability Operator. You can choose to use xref:../../networking/network_observability/installing-operators.adoc#network-observability-without-loki_network_observability[Network Observability without Loki], but there are some considerations for doing this, described in the previously linked section.
99

10-
The Loki Operator integrates a gateway that implements multi-tenancy & authentication with Loki for data flow storage. The *LokiStack* resource manages *Loki*, which is a scalable, highly-available, multi-tenant log aggregation system, and a web proxy with {product-title} authentication. The *LokiStack* proxy uses {product-title} authentication to enforce multi-tenancy and facilitate the saving and indexing of data in *Loki* log stores.
10+
The Loki Operator integrates a gateway that implements multi-tenancy and authentication with Loki for data flow storage. The `LokiStack` resource manages Loki, which is a scalable, highly-available, multi-tenant log aggregation system, and a web proxy with {product-title} authentication. The `LokiStack` proxy uses {product-title} authentication to enforce multi-tenancy and facilitate the saving and indexing of data in Loki log stores.
1111

1212
[NOTE]
1313
====
1414
The Loki Operator can also be used for xref:../../logging/cluster-logging-loki.adoc#cluster-logging-loki[Logging with the LokiStack]. The Network Observability Operator requires a dedicated LokiStack separate from Logging.
1515
====
1616

17+
include::modules/network-observability-without-loki.adoc[leveloffset=+1]
18+
19+
[role="_additional-resources"]
20+
.Additional resources
21+
* xref:../../networking/network_observability/configuring-operator.adoc#network-observability-enriched-flows_network_observability[Export enriched network flow data].
22+
1723
include::modules/network-observability-loki-install.adoc[leveloffset=+1]
24+
include::modules/network-observability-loki-secret.adoc[leveloffset=+2]
1825
include::modules/network-observability-lokistack-create.adoc[leveloffset=+2]
1926
include::modules/network-observability-lokistack-ingestion-query.adoc[leveloffset=+2]
2027
include::modules/network-observability-auth-multi-tenancy.adoc[leveloffset=+1]
2128
include::modules/network-observability-multitenancy.adoc[leveloffset=+1]
29+
2230
include::modules/network-observability-kafka-option.adoc[leveloffset=+1]
2331
include::modules/network-observability-operator-install.adoc[leveloffset=+1]
2432

0 commit comments

Comments
 (0)