antrea

module
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2020 License: Apache-2.0

README

Antrea Logo

Build Status Go Report Card License GitHub release

Overview

Antrea is a Kubernetes networking solution intended to be Kubernetes native. It operates at Layer3/4 to provide networking and security services for a Kubernetes cluster, leveraging Open vSwitch as the networking data plane.

Antrea Overview

Open vSwitch is a widely adopted high-performance programmable virtual switch; Antrea leverages it to implement Pod networking and security features. For instance, Open vSwitch enables Antrea to implement Kubernetes Network Policies in a very efficient manner.

Prerequisites

Antrea has been tested with Kubernetes clusters running version 1.16 or later.

  • NodeIPAMController must be enabled in the Kubernetes cluster.
    When deploying a cluster with kubeadm the --pod-network-cidr <cidr> option must be specified.
  • Open vSwitch kernel module must be present on every Kubernetes node.

Getting Started

Getting started with Antrea is very simple, and takes only a few minutes. See how it's done in the Getting started document.

Contributing

The Antrea community welcomes new contributors. We are waiting for your PRs!

Also check out @ProjectAntrea on Twitter!

Features

Antrea currently supports the following features:

  • IPv4 overlay network for a Kubernetes cluster. VXLAN, Geneve, GRE, or STT can be used as the encapsulation protocol.
  • Kubernetes Network Policies implementation.
  • Octant UI plugin for monitoring Antrea components, which publish runtime information as CRDs.
  • IPsec encyption of GRE tunnel traffic.

Roadmap

Antrea is a very young project. There is a very exciting list of features and integrations that we would like to add. A most likely incomplete list can be found on our Roadmap page. Feel free to throw your ideas in!

License

Antrea is licensed under the Apache License, version 2.0

Directories

Path Synopsis
cmd
antrea-agent
Package main under directory cmd parses and validates user input, instantiates and initializes objects imported from pkg, and runs the process.
Package main under directory cmd parses and validates user input, instantiates and initializes objects imported from pkg, and runs the process.
antrea-controller
Package main under directory cmd parses and validates user input, instantiates and initializes objects imported from pkg, and runs the process.
Package main under directory cmd parses and validates user input, instantiates and initializes objects imported from pkg, and runs the process.
hack
netpol Module
pkg
agent
Package agent contains the libraries that drive the antrea-agent binary.
Package agent contains the libraries that drive the antrea-agent binary.
agent/cniserver/ipam/testing
Package testing is a generated GoMock package.
Package testing is a generated GoMock package.
agent/interfacestore/testing
Package testing is a generated GoMock package.
Package testing is a generated GoMock package.
agent/openflow/cookie
Package cookie implements a cookie allocator.
Package cookie implements a cookie allocator.
agent/openflow/testing
Package testing is a generated GoMock package.
Package testing is a generated GoMock package.
agent/route/testing
Package testing is a generated GoMock package.
Package testing is a generated GoMock package.
agent/util/ethtool
Package ethtool provides Go wrappers for ioctl ethtool system calls on Linux
Package ethtool provides Go wrappers for ioctl ethtool system calls on Linux
antctl
Package antctl provides the antctl framework and antctl command implementations.
Package antctl provides the antctl framework and antctl command implementations.
apis
Package apis contains API definitions used to interface with the different Antrea components, along with files auto-generated from these API definitions.
Package apis contains API definitions used to interface with the different Antrea components, along with files auto-generated from these API definitions.
apis/networking
Package networking contains the latest (or "internal") version of the Antrea NetworkPolicy API messages.
Package networking contains the latest (or "internal") version of the Antrea NetworkPolicy API messages.
apis/networking/v1beta1
Package v1beta1 is the v1beta1 version of the Antrea NetworkPolicy API messages.
Package v1beta1 is the v1beta1 version of the Antrea NetworkPolicy API messages.
apis/system
Package system contains the Antrea "system" API group definitions.
Package system contains the Antrea "system" API group definitions.
apis/system/v1beta1
Package v1beta1 contains the v1beta1 version of the Antrea "system" API group definitions.
Package v1beta1 contains the v1beta1 version of the Antrea "system" API group definitions.
apiserver
Package apiserver contains code to create kubernetes-like API server for antrea-controller.
Package apiserver contains code to create kubernetes-like API server for antrea-controller.
apiserver/storage
Package storage contains storage interfaces and implementations for the apiserver.
Package storage contains storage interfaces and implementations for the apiserver.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/clusterinformation/v1beta1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/clusterinformation/v1beta1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/networking/v1beta1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/networking/v1beta1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cni
Package cni contains the libraries that drive the antrea-cni binary.
Package cni contains the libraries that drive the antrea-cni binary.
controller
Package controller contains the libraries that drive the antrea-controller binary.
Package controller contains the libraries that drive the antrea-controller binary.
controller/types
Package types contains common types in the antrea-controller.
Package types contains common types in the antrea-controller.
k8s
Package k8s contains utilities for Antrea interactions with Kubernetes.
Package k8s contains utilities for Antrea interactions with Kubernetes.
monitor/testing
Package testing is a generated GoMock package.
Package testing is a generated GoMock package.
ovs
Package ovs contains ovsdb and openflow interfaces and implementations.
Package ovs contains ovsdb and openflow interfaces and implementations.
ovs/openflow/testing
Package testing is a generated GoMock package.
Package testing is a generated GoMock package.
ovs/ovsconfig/testing
Package testing is a generated GoMock package.
Package testing is a generated GoMock package.
signals
Package signals contains utilities for dealing with signals.
Package signals contains utilities for dealing with signals.
version
Package version provides information about the current semantic version for the Antrea project.
Package version provides information about the current semantic version for the Antrea project.
plugins
octant Module
test
e2e
integration
Package integration provides integration tests that require a running OVS or invoking external calls on the system.
Package integration provides integration tests that require a running OVS or invoking external calls on the system.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL