Skip to content

Rainier is a container network interface (CNI) plugin that creates one network interface for each container and attach it to an OVS bridge

Notifications You must be signed in to change notification settings

charlesmcchan/rainier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rainier

Rainier is a container network interface (CNI) plugin that creates one network interface for each container and attach it to an OVS bridge

How to use

Prerequisite

  • golang >= 1.11
  • kubernetes
  • kubernetes-cni

Fetch rainier source code

git clone git@github.com:charlesmchan/rainier.git

Build

cd rainier
go build rainier.go

Link binary and configuration to CNI folder

sudo mkdir -p /etc/cni/net.d
sudo mkdir -p /opt/cni/bin
sudo ln -s config /etc/cni/net.d/rainier.conf
sudo ln -s rainier /opt/cni/bin/rainier

Test with sample service

sudo kubectl create -f service.yaml

service.yaml will spawn 3 busybox containers. All of them should get an IP address and should be able to ping one another if OVS is set to standalone mode

Note

Kubernetes does not take DNS configuration returned from CNI. We need to configure DNS in the Kubernetes pod configuration

Todo

  • Test cases

How it is named

I have a bad sense of naming a project and I was eating rainier cherries while coding

Acknowledgement

Special thanks to @hwchiu

Reference

About

Rainier is a container network interface (CNI) plugin that creates one network interface for each container and attach it to an OVS bridge

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages