Feynman, Sherlock
Published on:2020-07-10

Porter: An Innovative Cloud Native Service Proxy in CNCF Landscape

Porter, a load balancer developed for bare metal Kubernetes clusters, was officially included in CNCF Landscape last week. This marks a great milestone for its parent project KubeSphere as it continues to deliver cloud native technologies to the wider community.

cncf-include-porter

Cloud Native Computing Foundation, or CNCF, was built for the establishment of sustainable ecosystems for cloud native software. Its Interactive Landscape is dynamically generated, serving as a technology roadmap for various industries. As Porter is now recognized by CNCF as one of the best cloud native practices, it represents another important solution to load balancing for developers. Moreover, it is expected to see a surge in popularity amid growing needs from its users faced with various challenges in this field.

cloudnative-landscape-porter-cncf

What is Porter

Porter is an open source cloud native load balancing plugin designed by the KubeSphere development team based on Border Gateway Protocol (BGP). It meanly features:

  1. ECMP routing load balancing
  2. BGP dynamic routing configuration
  3. VIP management
  4. LoadBalancerIP assignment in Kubernetes services (v0.3.0)
  5. Installation with Helm Chart (v0.3.0)
  6. Dynamic BGP server configuration through CRD (v0.3.0)
  7. Dynamic BGP peer configuration through CRD (v0.3.0)

Porter

All Porter codes are open source and documents are available in GitHub. You are welcome to star and use it.

Porter Showcase in KubeCon

Porter Installation

Porter has been deployed and tested in three environments so far as below. You can see more details in GitHub about the deployment, test and process by clicking the link below. It is recommended to have a try:

Cloud Native Design

All resources in Porter are CRD, including VIP, BGPPeer and BGPConfig. Users who are used to Kubectl will find Porter very easy to use. For advanced users who want to customize Porter, Kubernetes API can be called directly for tailor-made development. The core controller of Porter will soon support high availability (HA).

For detailed information about the architecture and principle, please refer to Porter: An Open Source Load Balancer for Kubernetes in a Bare Metal Environment.