-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Theia overview, getting-started, contributting, community, and license information to README.md. Revise the Theia introduction, and add more information about Theia features and usage in network-flow-visibility.md and the Getting Started section. Rename theia.md to theia-cli.md. Signed-off-by: Jianjun Shen <shenj@vmware.com>
- Loading branch information
Showing
5 changed files
with
164 additions
and
73 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,45 @@ | ||
# Theia | ||
|
||
Theia contains Network Flow Visibility functions which are exacted from the | ||
[Antrea main repo](https://github.com/antrea-io/antrea). While flow exporter and | ||
flow aggregator are kept in the Antrea repo, other flow visibility modules, such | ||
as ClickHouse and Grafana related ones, will be moved to this new repo. | ||
|
||
During the code migration period, we will still keep related functions available | ||
and stable in the Antrea repo, and the functions in this new repo won't be ready | ||
until we announce the migration is completed. | ||
Theia is a network observability and analytics platform for Kubernetes. It is | ||
built on top of [Antrea](https://github.com/antrea-io/antrea), and consumes | ||
[network flows exported by Antrea](https://github.com/antrea-io/antrea/blob/main/docs/network-flow-visibility.md) | ||
to provide fine-grained visibility into the network communications in a | ||
Kubernetes cluster. | ||
|
||
## Getting Started | ||
|
||
Getting started with Theia is simple. You can follow the [Getting Started](docs/getting-started.md) | ||
guide to install Theia and start rocking! | ||
|
||
Theia supports network flow visualization and monitoring with Grafana. Check the | ||
[Grafana Flow Collector](docs/network-flow-visibility.md) document to learn | ||
more. | ||
|
||
Based on the collected network flow information, Theia can recommend appropriate | ||
NetworkPolicy configuration to secure Kubernetes network and applications. | ||
Please refer to the [NetworkPolicy Recommendation](docs/networkpolicy-recommendation.md) | ||
user guide to learn more. | ||
|
||
## Contributing | ||
|
||
The Antrea community welcomes new contributors. We are waiting for your PRs! | ||
|
||
* Before contributing, please get familiar with our | ||
[Code of Conduct](CODE_OF_CONDUCT.md). | ||
* Check out the Antrea [Contributor Guide](CONTRIBUTING.md) for information | ||
about setting up your development environment and our contribution workflow. | ||
* Learn about Antrea's [Architecture and Design](https://github.com/antrea-io/antrea/blob/main/docs/design/architecture.md). | ||
Your feedback is more than welcome! | ||
* Check out [Open Issues](https://github.com/antrea-io/theia/issues). | ||
* Join the Antrea [community](#community) and ask us any question you may have. | ||
|
||
## Community | ||
|
||
Please refer to the [Antrea community](https://github.com/antrea-io/antrea/blob/main/README.md#community) | ||
information. | ||
|
||
## License | ||
|
||
Antrea is licensed under the [Apache License, version 2.0](LICENSE) | ||
|
||
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fantrea-io%2Fantrea.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fantrea-io%2Fantrea?ref=badge_large) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
# Getting Started with Theia | ||
|
||
## Table of Contents | ||
|
||
<!-- toc --> | ||
- [Overview](#overview) | ||
- [Prerequisites](#prerequisites) | ||
- [Theia Installation](#theia-installation) | ||
- [Features](#features) | ||
- [Network Flow Visualization and Monitoring](#network-flow-visualization-and-monitoring) | ||
- [NetworkPolicy Recommendation](#networkpolicy-recommendation) | ||
- [Additional Information](#additional-information) | ||
<!-- /toc --> | ||
|
||
## Overview | ||
|
||
Theia is a network observability and analytics platform for Kubernetes, bulit | ||
on top of [Antrea](https://github.com/antrea-io/antrea). Theia consumes [network | ||
flows exported by Antrea](https://github.com/antrea-io/antrea/blob/main/docs/network-flow-visibility.md) | ||
to provide fine-grained visibility into the network communications in a | ||
Kubernetes cluster. | ||
|
||
Theia supports network flow visualization and monitoring with Grafana, and can | ||
recommend appropriate NetworkPolicy configuration to secure Kubernetes network | ||
and applications. This guide describes how to install and get started with | ||
Theia. | ||
|
||
## Prerequisites | ||
|
||
To install Theia, ensure the Flow Exporter feature is enabled in Antrea deployment | ||
manifest, in the following way: | ||
|
||
```yaml | ||
antrea-agent.conf: | | ||
... | ||
featureGates: | ||
... | ||
FlowExporter: true | ||
``` | ||
## Theia Installation | ||
To enable both [Grafana Flow Collector](network-flow-visibility.md) and | ||
[NetworkPolicy Recommendation](networkpolicy-recommendation.md), please install | ||
Flow Aggregator and Theia by runnning the following commands: | ||
```bash | ||
git clone https://github.com/antrea-io/theia.git | ||
helm install flow-aggregator theia/build/charts/flow-aggregator --set clickHouse.enable=true,recordContents.podLabels=true -n flow-aggregator --create-namespace | ||
helm install theia theia/build/charts/theia --set sparkOperator.enable=true -n flow-visibility --create-namespace | ||
``` | ||
|
||
To enable only Grafana Flow Collector, please install Flow Aggregator and Theia | ||
by runnning the following commands: | ||
|
||
```bash | ||
git clone https://github.com/antrea-io/theia.git | ||
helm install flow-aggregator theia/build/charts/flow-aggregator --set clickHouse.enable=true -n flow-aggregator --create-namespace | ||
helm install theia theia/build/charts/theia -n flow-visibility --create-namespace | ||
``` | ||
|
||
## Features | ||
|
||
### Network Flow Visualization and Monitoring | ||
|
||
Theia uses Grafana to visualize network flows in the Kubernetes cluster. After | ||
the installation, you can run the following commands to get the Grafana Service | ||
address: | ||
|
||
```bash | ||
NODE_NAME=$(kubectl get pod -l app=grafana -n flow-visibility -o jsonpath='{.items[0].spec.nodeName}') | ||
NODE_IP=$(kubectl get nodes ${NODE_NAME} -o jsonpath='{.status.addresses[0].address}') | ||
GRAFANA_NODEPORT=$(kubectl get svc grafana -n flow-visibility -o jsonpath='{.spec.ports[*].nodePort}') | ||
echo "=== Grafana Service is listening on ${NODE_IP}:${GRAFANA_NODEPORT} ===" | ||
``` | ||
|
||
You now access Grafana in your browser at: `http://[NodeIP]:[NodePort]`, and log | ||
in with username: `admin` and password: `admin`. Navigate to the [Theia | ||
dashboards](network-flow-visibility.md#grafana-dashboards) to view the network | ||
flows in the cluster. | ||
|
||
### NetworkPolicy Recommendation | ||
|
||
Please follow the instructions in the [NetworkPolicy Recommendation](networkpolicy-recommendation.md) | ||
user guide. | ||
|
||
## Additional Information | ||
|
||
Refer to Antrea documentation to learn more about | ||
[Flow Exporter](https://github.com/antrea-io/antrea/blob/main/docs/network-flow-visibility.md#flow-exporter), | ||
[Flow Aggregator](https://github.com/antrea-io/antrea/blob/main/docs/network-flow-visibility.md#flow-aggregator) | ||
and their advanced configurations. | ||
|
||
For more information about Grafana Flow Collector installation and | ||
customization, please refer to Grafana Flow Collector [Deployment Steps](network-flow-visibility.md#deployment-steps), | ||
and [Configuration](network-flow-visibility.md#configuration). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.