RKE2在纯二层交换机网络中的离线部署问题,不同pod间的service无法访问

环境信息:
RKE2 版本:

rke2 version v1.28.3+rke2r2 (cf6c1ae3f199c2e838ba19125cbd2d522c8765d3)
go version go1.20.10 X:boringcrypto

节点 CPU 架构,操作系统和版本:

Linux master01 3.10.0-1160.49.1.el7.x86_64 #1 SMP Tue Nov 30 15:51:32 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

集群配置:

1 single server 10.1.1.123
2.没DNS,没GATEWAY

问题描述:

在同样的单机环境中,异常集群和正常集群的区别主要是host上是否配置了GATEWAY和DNS

异常集群中coredns启动失败,修改配置之后coredns启动成功,但是同一个namespace中的不同pod绑定的service之间不能访问到
仅仅是有GATEWAY和有DNS的区别,正常集群就可以访问到。

重现步骤:

  • 安装 RKE2 的命令:
cd  /data/rke2-artifacts/ && INSTALL_RKE2_ARTIFACT_PATH=/data/rke2-artifacts sh  install.sh

systemctl enable rke2-server.service
systemctl start rke2-server.service

预期结果:
集群内部网络能够访问到

实际结果:
集群内部网络解析不通

日志

集群中主要现象
bad_cluster_main_error1
集群coredns异常


coredns的配置文件
bad_cluster_corefile
coredns的日志

异常集群中nslookup的结果

问题已解决,细节请参考 in offline installed cluster, nslookup failed to resolve k8s service inside the same namespace. · Issue #5137 · rancher/rke2 (github.com)