Let me introduce Project Antrea – VMware’s open source Kubernetes Networking, and security project for cloud native Kubernetes clusters. It was designed to provide high performance flexible and secure networking platform for Kubernetes components, and it leverages Kubernetes extension mechanisms, and Open vSwitch (OVS) data plane to pod networking and security in layer 3 and 4 levels.
Antrea leverages Open vSwitch which is widely adopted and high performance and programmable Virtual Switch which facilitate Antrea to enable the pod level security and networking.
Antrea controller installs agents “Antrea Agents” on the worker nodes to initiates the networking.
OVS stand out from the crowd with below features:
- High Performance: technologies like Intel DPDK, AF_XDP sockets, hardware offloading, etc used to achieve the speed of the packet transmission
- Portability: OVS supports to any platform such as Linux, Windows or any cloud distribution
- Operations: Antrea support the integration of existing networking monitoring tools and protocols.
- Flexibility and Extensibility: easily enable the integration of new features and simplify Kubernetes networking with a unified data plane.
Read More: See What’s Inside In Your Kubernetes Cluster With VMware Octant
Getting Started With Project Antrea
Antrea installation is quite simple, but you have to meet below prerequisites before you proceed.
- Start with Cluster CIDR to enable NodeIpamController (–cluster-cidr= [CIDR Range For PODs])
- To enable CNI network plugins, kubelet should be started with the “–network-plugin=cni” flag.
- At the time of writing this article, OVS is using built in Kernel modules and it requires version 4.4 or higher version and OVS version 2.6.0 or higher version is required.
Antrea has list of releases and at the time of writing this article latest version is v0.1.0.
To install Antrea follow the below steps
kubectl apply -f https://github.com/vmware-tanzu/antrea/releases/download/v0.1.0/antrea.yml
Change the version number following the releases.
If you wish to install directly from the master branch use below deploymant
kubectl apply -f https://raw.githubusercontent.com/vmware-tanzu/antrea/master/build/yamls/antrea.yml
It will create an Antrea Controller Deployment in the “kube-system” namespace
Antrea Agents will be installed on each and every nodes.
This is just the deployment of the Andrea and OVS in my test Kubernetes cluster. I will post more articles in the future.