---
title: openEuler 22.03上部署K8s过程中遇到虚拟化网络问题的解决办法-官方技术文章-鲲鹏社区
description: 解决openEuler 22.03上部署Kubernetes（K8s）时开启防火墙，会导致pod间的通信异常的问题。
keywords: Euler,上部署,过程中遇到虚,拟化网络问题,的解决办法,官方技术文章,鲲鹏社区,问题现象描述
url: https://www.hikunpeng.com/developer/techArticles/20250911-4?envFlag=1
section: (其他)
---

# openEuler 22.03上部署K8s过程中遇到虚拟化网络问题的解决办法-官方技术文章-鲲鹏社区

URL: https://www.hikunpeng.com/developer/techArticles/20250911-4?envFlag=1
描述: 解决openEuler 22.03上部署Kubernetes（K8s）时开启防火墙，会导致pod间的通信异常的问题。
关键词: Euler,上部署,过程中遇到虚,拟化网络问题,的解决办法,官方技术文章,鲲鹏社区,问题现象描述

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

openEuler 22.03上部署K8s过程中遇到虚拟化网络问题的解决办法

openEuler 22.03上部署K8s过程中遇到虚拟化网络问题的解决办法

安装部署

发表于 2025/09/11

0

### 问题现象描述

在openEuler 22.03上部署Kubernetes（K8s）时，必须防火墙才能实现pod之间的正常通信。若开启防火墙，会导致pod间的通信异常，但pod与service或宿主机之间的通信不受影响。在CentOS 7.6上部署K8s时，未遇到此类问题。

### 关键过程、根本原因分析

表层原因：

防火墙问题：防火墙后，pod间通信正常。

排查思路：

排查结果：

启动iptables系统服务后，pod间可以正常通信；删除iptables中关于pod的出入规则后，pod间无法通信。

iptables作为防火墙的后端，按理说两者在功能上并无太大差异，只是防火墙是一个前端服务，可以修改后端服务的规则。

根因分析：

根据上述分析结果猜测，iptables的设置并没有使能防火墙。查阅资料得知，从内核版本3.15.0开始，防火墙后端iptables逐渐被nftables替代，发展到5.10.0，已经默认使用nftables作为防火墙的后端。结合CentOS 7.6内核版本为3.10.0与openEuler 22.03内核版本为5.10.0的情况，符合nftables使能前后的内核版本号。

查看openEuler上防火墙后端服务，确认为nftables；CentOS 7.6上则是iptables。

替换FirewallBackend = iptables：

K8s cni插件设置了iptables出入规则，但没有对nftables进行设置cni插件为flannel查看flannel开源社区。

在flannel仓库，关于nftables的提交总共有7个结果。其中最早提及nftables的提交在2024/2/7。flannel无法在openEuler上开箱即用的原因是，flannel支持nftables的特性集成太晚，在较高版本的内核上应该使用较新版本的flannel插件。

### 结论、解决方案及效果

- 通过防火墙上层接口修改nftables安全策略（通过firewall-cmd为cni0接口添加出入规则）。
- 直接修改nftables的安全策略。
- 修改防火墙后端为iptables。
