Installation

Kube-OVN includes two parts:

  • Native OVS and OVN components
  • Controller and CNI plugins that integrate OVN with Kubernetes

To install

  • Add the following label to the Node which will host the OVN DB and the OVN Control Plane:

kubectl label node <Node on which to deploy OVN DB> kube-ovn/role=master

  • Install native OVS and OVN components:

kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/v0.4.0/yamls/ovn.yaml

  • Install the Kube-OVN Controller and CNI plugins:

kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/v0.4.0/yamls/kube-ovn.yaml

That's all! You can now create some pods and test connectivity.

For high-available ovn db, see high available

More Configuration

Controller Configuration

  1. --default-cidr: Default CIDR for Namespaces with no logical switch annotation, default: 10.16.0.0/16
  2. --node-switch-cidr: The CIDR for the Node switch. Default: 100.64.0.0/16

To uninstall

  • Remove Kubernetes resources:
  1. wget https://raw.githubusercontent.com/alauda/kube-ovn/master/dist/images/cleanup.sh
  2. bash cleanup.sh
  • Delete OVN/OVS DB and config files on every Node:
  1. rm -rf /var/run/openvswitch
  2. rm -rf /etc/origin/openvswitch/
  3. rm -rf /etc/openvswitch
  • Reboot the Node to remove ipset/iptables rules and nics.