Skip to content
/ ovnctl Public

ovnctl, a command line tool to control OVN for kubevm.

License

Notifications You must be signed in to change notification settings

kubegc/ovnctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kubeOVN

SDN for Kubernetes network

authors:

1. Features

  • IPv4/IPv6
  • vlan, geneve, vxlan,
  • fixed IP/floating IP
  • static IP/dynamic IP
  • ACL
  • QoS
  • CNI

2. Roadmap

  • Support geneve/IPv4 [1.x]
    • support vlan [1.1.0]
    • support floating ip [1.2.0]
    • upport ACL [1.3.0]
    • support QoS [1.4.0]
    • production ready [1.5.0]
  • Support vxlan [2.x]
  • Support CNI [3.x]
  • Support IPv6 [4.x]

3. Info

Notes to self: Clustering seems to be doable in OVS > 2.9 (>2.10 preferred). A working example can be seen here:

northd01 (master) == 172.21.239.73
northd02 == 172.21.238.6
northd03 == 172.21.238.240

## Primary
/usr/share/openvswitch/scripts/ovn-ctl --db-nb-addr=172.21.239.73 \
--db-nb-create-insecure-remote=yes \
--db-sb-addr=172.21.239.73 \
--db-sb-create-insecure-remote=yes \
--db-nb-cluster-local-addr=172.21.239.73 \
--db-sb-cluster-local-addr=172.21.239.73 \
--ovn-northd-nb-db=tcp:172.21.239.73:6641,tcp:172.21.238.6:6641,tcp:172.21.238.240:6641 \
--ovn-northd-sb-db=tcp:172.21.239.73:6642,tcp:172.21.238.6:6642,tcp:172.21.238.240:6642 \
start_northd

Starting OVN ovsdb-servers and ovn-northd on the node with IP y.y.y.y and joining the cluster started at x.x.x.x

#infra2
/usr/share/openvswitch/scripts/ovn-ctl --db-nb-addr=172.21.238.6 \
--db-nb-create-insecure-remote=yes \
--db-sb-addr=172.21.238.6 \
--db-sb-create-insecure-remote=yes \
--db-nb-cluster-local-addr=172.21.238.6 \
--db-sb-cluster-local-addr=172.21.238.6 \
--db-nb-cluster-remote-addr=172.21.239.73 \
--db-sb-cluster-remote-addr=172.21.239.73 \
--ovn-northd-nb-db=tcp:172.21.239.73:6641,tcp:172.21.238.6:6641,tcp:172.21.238.240:6641 \
--ovn-northd-sb-db=tcp:172.21.239.73:6642,tcp:172.21.238.6:6642,tcp:172.21.238.240:6642 \
start_northd

Starting OVN ovsdb-servers and ovn-northd on the node with IP z.z.z.z and joining the cluster started at x.x.x.x

/usr/share/openvswitch/scripts/ovn-ctl --db-nb-addr=172.21.238.240 \
--db-nb-create-insecure-remote=yes \
--db-nb-cluster-local-addr=172.21.238.240 \
--db-sb-addr=172.21.238.240 \
--db-sb-create-insecure-remote=yes \
--db-sb-cluster-local-addr=172.21.238.240 \
--db-nb-cluster-remote-addr=172.21.239.73 \
--db-sb-cluster-remote-addr=172.21.239.73 \
--ovn-northd-nb-db=tcp:172.21.239.73:6641,tcp:172.21.238.6:6641,tcp:172.21.238.240:6641 \
--ovn-northd-sb-db=tcp:172.21.239.73:6642,tcp:172.21.238.6:6642,tcp:172.21.238.240:6642 \
start_northd

The trick is verifying when this needs to be implemented and how it behaves with subsequent playbook runs.

See full activity log

Books

4. References