Ingress如何访问到多节点上的pod

ingress如何访问到多节点上的pod

  • Rancher 版本:2.6.5
  • 安装选项 (Docker install/Helm Chart):
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:RKE1
  • 在线或离线部署:在线

下游集群信息

  • Kubernetes 版本: v1.23.6
  • Cluster Type (Local/Downstream):
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等): Local

用户信息

  • 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):管理员
    • 如果自定义,自定义权限集:

主机操作系统:
centos7.7

问题描述:
ingress如何访问到多节点上的pod
重现步骤:

结果:

预期结果:
ingress如何访问到多节点上的pod
截图:

其他上下文信息:

日志


没明白你的问题,正常来说,ingress → service – pod,service 有 LB 的功能,也就是说可以访问到你的所有 pod,无论这些 pod 是否是在多个节点上。

可是我测试的不是这样的。我三个节点上都启了ingress.我入品nginx把服务指向ingress1,然后把ingress1这个节点上对应的pod服务缩减的方式关了,其余两个节点上的pod服务是开着的。我通过域名去访问就不通了。

三个podIP分别为node1:10.42.1.20 ;node2: 10.42.2.22 ;node3: 10.42.3.32 。我通过ping测试。node1和node2可以互通,node3不能互通。所以我测试ingress的时候(因为我ingress指定在node1上)无法访问node3上的服务。这个要如何修复。

那你可能得检车 node3 节点上的网络设置了,比如是否启动了防火墙,是否允许了 对应 cni 的端口开放,是否关闭了 selinux 等。 或者你查一些关于 跨主机 pod 不通的一些资料

我的虚拟机都是同一个源克隆的。好像用Canal插件不太稳定,我上一个集群选的这个插件,也有一个节点不通。果断用calico重新初始化。可以通了。