Skip to content

[BUG] OVN EIP, FIP External Gateway is not configured. #5050

Open
@inyongma1

Description

@inyongma1

Kube-OVN Version

v1.13

Kubernetes Version

v1.30

Operation-system/Kernel Version

"Rocky Linux 8.10 (Green Obsidian)"

Description

vnode-103-177, vnode-117-46 are the external gw nodes and also worker nodes and vnode-103-176 is the master node and I deleted taint

NAME STATUS ROLES AGE VERSION
vnode-103-176 Ready control-plane 3d20h v1.30.10
vnode-103-177 Ready 3d20h v1.30.10
vnode-117-46 Ready 3d20h v1.30.10

vnode-103-177 ovn.kubernetes.io/external-gw=true
vnode-117-46 ovn.kubernetes.io/external-gw=true

vpc1 starter-backend-7ff5f85b46-8d9gh 1/1 Running 0 16m 192.168.0.4 vnode-103-176

starter-backend-7ff5f85b46-8d9gh is the pod which is running on the master node and non-external gw node.

my question is that I reboot two external gw nodes(vnode-103-177, vnode-117-46) but starter-backend-7ff5f85b46-8d9gh is still communicated, and I also checked ofctl of master node(non-external gw node vnode-103-176). I found some nat rule in there.

cookie=0x8f0de392, duration=1176.940s, table=15, n_packets=64, n_bytes=4994, idle_age=466, priority=100,ip,reg14=0x1,metadata=0x5,nw_dst=10.9.101.9 actions=ct(commit,table=16,zone=NXM_NX_REG11[0..15],nat(dst=192.168.0.4))

I thought that if all external gw is down, I should not be communicated by OEIP.

these are my configuration.

apiVersion: kubeovn.io/v1
kind: ProviderNetwork
metadata:
  name: external0
spec:
  defaultInterface: eth0
---
apiVersion: kubeovn.io/v1
kind: Vlan
metadata:
  name: vlan0
spec:
  id: 0
  provider: external0
---
apiVersion: kubeovn.io/v1
kind: Subnet
metadata:
  name: external0
spec:
  protocol: IPv4
  cidrBlock: 10.9.0.0/16
  gateway: 10.9.0.1
  vlan: vlan0
  excludeIps:
  - 10.9.0.1..10.9.101.1
---
apiVersion: v1
kind: Namespace
metadata:
  name: vpc1
---
kind: Vpc
apiVersion: kubeovn.io/v1
metadata:
  name: vpc1
spec:
  namespaces:
  - vpc1
  enableExternal: true
---
apiVersion: kubeovn.io/v1
kind: Subnet
metadata:
  name: vpc1-subnet1
spec:
  cidrBlock: 192.168.0.0/24
  default: false
  disableGatewayCheck: false
  disableInterConnection: true
  enableEcmp: true
  gatewayNode: ""
  gatewayType: distributed
  #gatewayType: centralized
  natOutgoing: false
  private: false
  protocol: IPv4
  provider: ovn
  vpc: vpc1
  namespaces:
  - vpc1
---
kind: OvnEip
apiVersion: kubeovn.io/v1
metadata:
  name: eip-static
spec:
  externalSubnet: external0
  type: nat
---
kind: OvnFip
apiVersion: kubeovn.io/v1
metadata:
  name: eip-static
spec:
  ovnEip: eip-static
  ipName: starter-backend-7ff5f85b46-8d9gh.vpc1

Steps To Reproduce

  1. I referenced this page and configuration is same as https://kubeovn.github.io/docs/stable/en/advance/ovn-eip-fip-snat/
  2. oeip, ofip is confiugured.

Current Behavior

If two external gw nodes are rebooted, communicated by OEIP

curl 10.9.101.9
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

Expected Behavior

If two external gw nodes are rebooted, I should not be communicated by OEIP

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions