更新时间-2025年12月31日

系统信息:openEuler-24.03-LTS-x86_64-dvd

# 查询登录信息
[root@openEuler ~]# who
root     pts/0        2025-12-29 22:40 (192.168.113.1)
 
# 查询内核版本、主机名、系统架构
[root@openEuler ~]# uname -a
Linux openEuler 6.6.0-28.0.0.34.oe2403.x86_64 #1 SMP Mon May 27 22:22:46 CST 2024 x86_64 x86_64 x86_64 GNU/Linux
 
# 查询发行版详细信息(版本、ID 等)
[root@openEuler ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS)"
ANSI_COLOR="0;31"
安装 IPVS、IPSet 和网桥管理工具:yum install -y ipset ipvsadm bridge-utils

bridge-utils:所有 K8S 集群(除非特殊硬件网络)都建议装,是 Pod 网络的基础;

ipvsadm/ipset:生产环境(IPVS 模式)必装,测试环境(iptables 模式)可选;

这三个工具是 K8S 集群的 “基础网络工具集”,统一安装能避免 90% 以上的网络 / Service 转发问题。

安装并同步时区和时间:sudo timedatectl set-timezone Asia/Shanghai && sudo dnf install ntpdate -y && sudo ntpdate cn.pool.ntp.org
关闭selinux:vim /etc/selinux/config
SELINUX=disabled
永久关闭swap分区(修改后需要重启):vim /etc/fstab
# 注释swap分区或者直接删除
UUID=327ff32e-d8c0-430b-b53b-a9e20b704ec9 /                       ext4    defaults        1 1
UUID=33099785-5bb5-4055-a0d3-53d6876a66cb /boot                   ext4    defaults        1 2
UUID=e4982b54-8e25-4bea-84f9-304d52be1586 /home                   ext4    defaults        1 2
UUID=36f6a1ba-967b-4114-97e7-d76502a17396 /var                    ext4    defaults        1 2
# UUID=a14c75a1-a59d-4f47-afbf-bbbe1646bf2a none                swap    defaults        0 0
修改主机名:hostnamectl set-hostname "master1"
持久化加载内核模块(创建文件):vim /etc/modules-load.d/ipvs.conf
# 持久化内核模块 + 立即加载(确保当前可用)
cat > /etc/modules-load.d/ipvs.conf <<EOF
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
br_netfilter
EOF
# 批量加载多个内核模块
modprobe -a ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh nf_conntrack
查看持久化加载内核模块是否生效:lsmod | grep -E 'ip_vs|nf_conntrack|br_netfilter'

开启内核网络转发与桥接支持
# 持久化 sysctl 配置 + 立即生效(无需 sysctl -w)
cat > /etc/sysctl.d/k8s.conf <<EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
# 重载配置
sysctl --system
验证开启内核网络转发与桥接支持是否成功(不成功可以重启Linux测试)
# 验证参数是否生效(输出均为1即成功)
sysctl net.ipv4.ip_forward
sysctl net.bridge.bridge-nf-call-iptables
sysctl net.bridge.bridge-nf-call-ip6tables
系统资源限制优化
if ! grep "\* soft nofile 65535" /etc/security/limits.conf &>/dev/null; then
cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
EOF
fi
内核参数优化
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_syncookies= 1
net.ipv4.tcp_max_tw_buckets= 20480
net.ipv4.tcp_max_syn_backlog= 20480
net.core.netdev_max_backlog= 262144
net.ipv4.tcp_fin_timeout= 20
net.ipv4.ip_forward= 1
EOF
重载配置:sysctl --system
一键验证核心配置(快速确认是否达标):echo -e "IP转发:$(sysctl net.ipv4.ip_forward | awk '{print $3}')\n主机名:$(hostname)\nIPVS模块:$(lsmod | grep ip_vs >/dev/null && echo '加载成功' || echo '加载失败')\nSWAP状态:$(free -m | grep Swap | awk '{print $2}')\nSELinux状态:$(getenforce)"

指标

结果

解读 & 意义

IP 转发

1

net.ipv4.ip_forward已成功开启,Pod 跨网络通信、Service 转发

的核心基础生效

主机名

master1

✅ 主机名清晰(无特殊字符),符合 K8S 节点命名规范,不会导致

集群识别异常

IPVS 模块

加载成功

✅ IPVS 相关内核模块已加载,kube-proxy 可直接切换为 IPVS 模

式(生产环境推荐)

SWAP 状态

0

✅ SWAP 分区已完全禁用(总大小为 0),满足 K8S kubelet 的运行

要求(无 swap 依赖)

SELinux状态

Disabled

✅ SELinux 已永久关闭,避免其对 K8S 容器、网络、文件权限的

强制限制

一键验证关闭 SELinux、禁用 SWAP、关闭防火墙:echo -e "防火墙状态:$(systemctl is-enabled firewalld)\nSELinux状态:$(getenforce)\nSWAP大小:$(free -m | grep Swap | awk '{print $2}')"

更多推荐