Kube-OVN安全组规则优先级问题分析与解决方案
2025-07-04 03:07:31作者:盛欣凯Ernestine
问题背景
在使用Kube-OVN v1.13.0版本时,用户发现当Pod绑定安全组后,无法ping通网关地址。经过详细排查,发现这是一个由于版本升级导致的ACL规则优先级问题。
问题现象
当用户创建安全组并绑定到Pod后,虽然安全组规则中已经允许所有IPv4流量(优先级2100),但实际流量却匹配了默认的deny规则(优先级2003),导致ICMP流量被拦截。通过ovn-trace工具可以确认流量确实被默认的deny规则拦截。
根本原因分析
这个问题源于Kube-OVN从v1.12.x升级到v1.13.0版本时的行为变更:
- 在v1.12.x版本中,安全组的ACL规则使用tier 0
- 升级到v1.13.0后,新建的安全组规则变为tier 2
- 但默认的deny all ACL规则仍保持为tier 0
由于tier 0的优先级高于tier 2,导致原本设计为最低优先级的deny all规则变成了最高优先级,从而拦截了所有流量。
解决方案
临时解决方案
对于已经出现问题的环境,可以执行以下步骤:
- 删除现有的deny all规则
- 重启ovn controller使其重建规则
具体命令如下:
kubectl-ko nbctl acl-del ovn.sg.kubeovn_deny_all from-lport 2003 "inport == @ovn.sg.kubeovn_deny_all && ip"
kubectl-ko nbctl acl-del ovn.sg.kubeovn_deny_all to-lport 2003 "outport == @ovn.sg.kubeovn_deny_all && ip"
kubectl rollout restart deployment/kube-ovn-controller -n kube-system
长期解决方案
开发团队已经提交了修复代码,确保deny all规则使用正确的tier级别,与安全组规则保持一致。建议用户升级到包含此修复的版本。
技术建议
- 在升级Kube-OVN版本时,应仔细阅读版本变更说明,特别是涉及网络策略和安全组规则的变更
- 对于生产环境,建议先在测试环境验证版本升级的兼容性
- 遇到类似网络策略问题时,可以使用ovn-trace工具进行流量路径分析
总结
这个问题展示了网络策略实现中规则优先级的重要性。在云原生网络环境中,安全组和网络策略的正确配置对业务连通性至关重要。Kube-OVN团队已经快速响应并修复了这个问题,体现了开源社区的高效协作。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0213
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
热门内容推荐
最新内容推荐
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
469
465
暂无描述
Dockerfile
778
5.08 K
Ascend Extension for PyTorch
Python
757
968
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
876
2.03 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
697
1.4 K
昇腾LLM分布式训练框架
Python
185
231
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
2.25 K
676
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.1 K
1.14 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271