Rainier is a container network interface (CNI) plugin that creates one network interface for each container and attach it to an OVS bridge
- golang >= 1.11
- kubernetes
- kubernetes-cni
git clone git@github.com:charlesmchan/rainier.gitcd rainier
go build rainier.gosudo 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/rainiersudo kubectl create -f service.yamlservice.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
Kubernetes does not take DNS configuration returned from CNI. We need to configure DNS in the Kubernetes pod configuration
- Test cases
I have a bad sense of naming a project and I was eating rainier cherries while coding
Special thanks to @hwchiu