Git Product home page Git Product logo

everoute's Introduction

everoute

Go Report Card codecov License

Overview

Everoute is a cloud-native networking and security solution. It works with OSI Network Model's Layer3/4. It leverages Open vSwitch as the networking data plane.

Everoute provides network and security services for the following platforms:

  • Kubernetes cloud-native platform
  • Private Cloud
  • Public Cloud
  • Hybrid Cloud
  • Legacy virtualized data center

It can be intergated within these platforms easily.

Architecture

Everoute takes the SDN (Software Defined Network) methodology as foundation. It decouples the control plane and data plane, and utilizes software programming to control the software network and security services.

All the Everoute related services are deployed as Kubernetes Pod, which makes these services easy to be deployed and managed.

Everoute Architecture

Everoute contains four main parts:

  • Everoute Central Controller: The Everoute central controller consists of control service, API Server and etcd, it leverages the cloud-native architecture, so all the services are deployed as containers. The Everoute Central Controller provides the controller cluster management and data persistence based on the Kube API Server and etcd. Everoute supports controllers' high availability and scalability through cluster. The main task of control service is to manage network and security policies. It generates network transimit policy rules according to resource types, security policies and discovered IP addresses.

  • Everoute Distributed Agent: The Everoute Agent is deployed in each K8s worker node or hypervisor host, it focuses on the local node policy management. The Everoute Agent is mainly responsible for discovering endpoint IP address and watching policy rules from Central controller.

  • Everoute Datapath: Everoute utilizes the Open vSwitch as it's network data plane, Everoute leverages it to implement virtual network forwarding, Pod networking and security features. Everoute uses Open vSwitch openflow mode to control the network forwarding and security rules.

  • 3rd party plugins: Everoute provides a plugin framework to integrate within 3rd party platforms, such as SmartX - SMTX OS virtualization platform or other cloud platform.

Main functions

In the current phase, Everoute support native Kubernetes platform and SmartX virtualization platform SMTX OS.

  • Kubernetes Platform: For the Kubernetes platform, Everoute provides the native K8s CNI network plug-in. The Everoute CNI supports Pod connection management, Network Policies, cluster service and NodePort etc. Details please refer to Everoute CNI

  • Virtualization Platform: SMTX OS is SmartX native virtualization platform. Everoute can be intergated with SMTX OS through the CloudTower plugin to provide the Micro-Segmentation service.

Roadmap

The following features are considered for the near future:

  • Network Visibility: to support the network visibility, service map, traffic monitor etc.
  • Overlay support: to support the VXLAN tunnel.
  • L3 routing: distributed virtual routing.
  • Kubernetes networking enhancement: endPort, ingress LoadBalancer, cluster service enhancement etc.
  • Some function enhancement and performance improvement of the control plane and data plane.
  • Service Function Chain: to support integrated with 3rd party services such as AV, IPS, IDS, traffic monitor etc.

License

Everoute is licensed under the Apache License, version 2.0

everoute's People

Contributors

echkenluo avatar fengye87 avatar keyongsun avatar kylezh avatar wu-cl avatar zdyxry avatar zwtop avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.