Skip to content

Latest commit

 

History

History
49 lines (40 loc) · 1.29 KB

README.md

File metadata and controls

49 lines (40 loc) · 1.29 KB

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 [email protected]: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