Skip to content

[BUG] 创建snat规则没有默认加上finalizers:- kubeovn.io/kube-ovn-controller #5167

@QEDQCD

Description

@QEDQCD

Kube-OVN Version

v1.13.0

Kubernetes Version

sbctl版本
kubectl-ko sbctl --version
ovn-sbctl 24.03.5
Open vSwitch Library 3.3.3
DB Schema 20.33.0
nbctl版本
kubectl-ko nbctl --version
ovn-nbctl 24.03.5
Open vSwitch Library 3.3.3
DB Schema 7.3.0

Operation-system/Kernel Version

/etc/os-release
"CentOS Stream 9"
uname -r
5.14.0-407.el9.x86_64

Description

创建snat规则时没有加上finalizers参数
finalizers:

  • kubeovn.io/kube-ovn-controller
    导致删除时snat在vpc-nat-gw pod内规则没有正常删除

Steps To Reproduce

1 编辑snat.yaml

apiVersion: kubeovn.io/v1
kind: IptablesSnatRule
metadata:
  annotations:
    ovn.kubernetes.io/vpc_eip: iptableseip-kvefapux
  creationTimestamp: "2025-04-21T07:03:53Z"
  generation: 1
  labels:
    ovn.kubernetes.io/eip_v4_ip: 10.1.69.203
    ovn.kubernetes.io/vpc-nat-gw-name: v-gw-b1c023e2a60dbca2
  name: snat-iptableseip-kvefapux
  resourceVersion: "920261675"
  uid: 3bcaa55d-65de-4960-a602-7d00064f699b
spec:
  eip: iptableseip-kvefapux
  internalCIDR: 10.0.1.0/24

2 创建snat资源 kubectl apply -f snat.yaml

3 查看snat资源 ,缺少finalizers参数
kubectl get snat snat-iptableseip-kvefapux -oyaml

apiVersion: kubeovn.io/v1
kind: IptablesSnatRule
metadata:
  annotations:
    ovn.kubernetes.io/vpc_eip: iptableseip-kvefapux
  creationTimestamp: "2025-04-21T07:03:53Z"
  generation: 1
  labels:
    ovn.kubernetes.io/eip_v4_ip: 10.1.69.203
    ovn.kubernetes.io/vpc-nat-gw-name: v-gw-b1c023e2a60dbca2
  name: snat-iptableseip-kvefapux
  resourceVersion: "920261675"
  uid: 3bcaa55d-65de-4960-a602-7d00064f699b
spec:
  eip: iptableseip-kvefapux
  internalCIDR: 10.0.1.0/24
status:
  internalCIDR: 10.0.1.0/24
  natGwDp: v-gw-b1c023e2a60dbca2
  ready: true
  redo: ""
  v4ip: 10.1.69.203
  v6ip: ""

4 进入vpc-nat-gw pod
kubectl exec -it vpc-nat-gw-v-gw-b1c023e2a60dbca2-0 -- bash
查看 nat规则,存在一条snat规则
iptables-legacy -t nat -L -n -v
Chain SHARED_SNAT (1 references) pkts bytes target prot opt in out source destination 6 456 SNAT 0 -- * net1 10.0.1.0/24 0.0.0.0/0 to:10.1.69.203 random-fully

5 删除snat资源
kubectl delete snat snat-iptableseip-kvefapux

6 进入vpc-nat-gw pod
kubectl exec -it vpc-nat-gw-v-gw-b1c023e2a60dbca2-0 -- bash
查看 nat规则,还是存在一条snat规则,期望的删除snat规则未实现
iptables-legacy -t nat -L -n -v
Chain SHARED_SNAT (1 references) pkts bytes target prot opt in out source destination 6 456 SNAT 0 -- * net1 10.0.1.0/24 0.0.0.0/0 to:10.1.69.203 random-fully

Current Behavior

snat资源 ,缺少finalizers参数
删除snat资源后,pod 内snat规则还是存在

Expected Behavior

snat资源 ,有finalizers参数
删除snat资源后,pod 内snat规则被删除

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions