ovn-central
# 查看北向db raft集群状态
ovs-appctl -t /run/ovn/ovnnb_db.ctl cluster/status OVN_Northbound
# 查看南向db raft集群状态
ovs-appctl -t /run/ovn/ovnsb_dbctl cluster/status OVN_Southbound
# 优雅删除北向raft node id
ovs-appctl -v -t /run/ovn/ovnnb_db.ctl cluster/leave OVN_Northbound [node 4位id]
# 强制删除北向raft node id
ovs-appctl -v -t /run/ovn/ovnnb_db.ctl cluster/kick OVN_Northbound [node 4位id]
# 根据北向db ip+端口查看bfd
ovn-nbctl --db=tcp:[x.x.x.x]:xxx list bfd
# 查看南向逻辑流表
ovn-sbctl lflow-list
# 查看南向db ls/lr vni
kubectl ko sbctl get datapath_binding [名称] tunnel_key
# 查看南向db port_binding ingress和egress port
kubectl ko sbctl get port_binding [名称] tunnel_key
重建北向/南向数据库
# 1. 停止 ovn-central,删除 ovn-central pod(先记录原副本数,如 3)
kubectl scale deployment -n kube-system ovn-central --replicas=0
# 2. 在 ovn-central 所在的所有节点上删除北向/南向 db 文件(宿主机路径,mv 到 /tmp 等价删除且保留备份)
mv /etc/origin/ovn/ovnnb_db.db /tmp
mv /etc/origin/ovn/ovnsb_db.db /tmp
# 3. 恢复副本数重建 ovn-central pod,启动时检测到无 db 文件会自动初始化空的北向/南向 db
kubectl scale deployment -n kube-system ovn-central --replicas=3
kubectl rollout status deployment/ovn-central -n kube-system
# 4. 验证北向/南向 db 集群状态
kubectl ko nb status
kubectl ko sb status
trace
# 查看Pod出方向匹配的流表
kubectl ko trace [namespace]/[pod-name] [目的ip] [icmp/tcp/udp]
ovn-controller
# 查询ovn探测间隔时间
ovs-vsctl get open . external-ids:ovn-remote-probe-interval