Rancher创建下游集群,采用calico插件出现网络问题?

环境信息:
RKE2 版本: 1.32.5

节点 CPU 架构,操作系统和版本:
UOS V20 AMD64, Ubuntu 22.04 AMD64

集群配置:
UOS 1 server,1 worker
Ubuntu 1 server,1 worker

问题描述:

利用国内资源手动安装部署RKE2集群,用windows server现场搭建了dns服务器用于地址映射,并利用Helm工具安装高性能集群Rancher 2.11.2。利用UI面板搭建下游测试集群,在UOS上面基于默认网络插件Calico的时候,1.32.5的系统部署缓慢,耗时很长,同时经常伴随着agent pod无法启动,查看日志经常出现could not resolve host:域名的问题,导致集群异常。某些情况下集群全部正常后,总会出现 APIService [v1beta1.metrics.k8s.io]一直在更新的问题,集群创建ingress controller 的时候,存在ui报错如下:

  • Internal error occurred: failed calling webhook “validate.nginx.ingress.kubernetes.io”: failed to call webhook: Post “https://rke2-ingress-nginx-controller-admission.kube-system.svc:443/networking/v1/ingresses?timeout=10s”: context deadline exceeded。
    从而导致系统出现异常。
    从server或者worker的后台查看记录,会出现例如:sending http/1.1 502 response to ip:dial tcp 10250 connection time out 类似的错误,不停刷新,导致集群根本无法使用。
    为此我用Ubuntu 服务器尝试测试对比,发现Canal网络插件不会表现如此行为,请问下当前的ui构建下游1.32.5版本镜像是否有问题,或者我的这些异常是否和系统配置有关?(所有的IPtables都已经放开)
    重现步骤:
  • 安装 RKE2 的命令:
    利用Rancher集群名录安装RKE2 1.32.5版本

预期结果:
正常运行集群,可以部署ingress

实际结果:
耗时非常长时间部署下游集群,同时大概率出现rke2-metrics-server 更新异常,导致ingress部署受阻。除非将Calico网络插件更换为Canal等其他插件即可恢复正常状态。

日志

关注下你的 calico 的 cni 部署是否有失败的情况,看看具体的日志信息,在某些国产信创操作系统下,会有一些问题。

后面换了下openeuler和ubuntu好像问题还是存在,我以前用docker部署的测试节点,加入下游集群的时候,没什么大的问题的。后来手动搭建rke2部署rancher 的时候,再加入下游集群存在问题了。这个问题之前发现在选择集群版本1.18左右的早起版本不会存在这个问题的,后面升级到了1.32.5就通通出现了calico的报错问题。不清楚是我选择的云虚拟机的问题,还是国区镜像的问题。很费解。

对了因为是内网云服务器主机,所以ip有的用的10网段和Rancher的cluster内部私网地址重叠了,正式环境注册集群的时候,手动更换了部署ip网段的。

底层的硬件是海光的 CPU 嘛?如果是的话 请关注下CPU 具体型号是多少

我看了下应该是amd的cpu,虚拟机平台应该是OpenStack魔改的