VPC 集群: 为什么我的应用程序无法通过 Ingress 进行连接?
虚拟私有云
您可以在 VPC 集群中为应用程序创建一个 Ingress 资源,从而公开应用程序。 尝试使用 Ingress 子域连接到应用程序时,连接失败或超时。
创建 VPC 群集时,会在 VPC 中的群集外自动创建一个公共 VPC 负载平衡器和一个私有 VPC 负载平衡器。
VPC 负载均衡器会将请求路由到路由器公开的应用程序。 在以下情况下,请求无法路由到您的应用程序:
- VPC 安全组正在阻止到工作程序节点的入局流量,包括到应用程序的入局请求。
- VPC 负载均衡器处于脱机状态,例如由于负载均衡器供应错误或 VSI 连接错误。
- VPC 负载均衡器已通过 VPC 控制台或 CLI 删除。
- VPC 负载均衡器的 DNS 条目仍在注册。
请验证是否没有 VPC 安全组阻止流向集群的流量,以及 VPC 负载均衡器是否可用。
-
安装 "
infrastructure-service
插件。 用于运行命令的前缀是ibmcloud is
。ibmcloud plugin install infrastructure-service
-
验证路由器的 VPC 负载均衡器是否存在。 在输出中,查找以
kube-crtmgr-<cluster_ID>
开头的 VPC 负载均衡器 Name。 如果未安装infrastructure-service
插件,请通过运行ibmcloud plugin install infrastructure-service
来安装该插件。ibmcloud is load-balancers
- 如果未列出 VPC 负载均衡器,说明已通过 VPC 控制台或 CLI 将其删除。 打开 IBM Cloud 支持案例 并包含集群标识。
-
如果存在负载均衡器,请 查看附加到它的 VPC 安全组。 确保您尚未对
kube-<vpc-id>
安全组进行任何修改,该安全组在创建时自动应用于 VPC ALB。- 如果已修改
kube-<vpc-id>
安全组,请在安全组中重新设置原始规则。 - 如果已除去
kube-<vpc-id>
安全组并将其替换为您管理的一个或多个安全组,请确保已设置的安全组允许到 ALB 的入站流量。 检查在 ALB 所使用的任何协议上是否允许到 NodePort 范围内的集群工作程序的出站流量为 30,000-32,767。 - 如果列出了 VPC 负载均衡器,并且您尚未修改附加到它的
kube-<vpc-id>
安全组,那么 DNS 条目可能仍在注册。 创建 VPC 负载均衡器时,将通过公共 DNS 注册主机名。 有时,该 DNS 条目复制到客户正在使用的特定 DNS 可能需要几分钟时间。 您可以等待主机名在 DNS 中完成注册,也可以使用 VPC 负载均衡器的其中一个 IP 地址直接访问 VPC 负载均衡器。 要查找 VPC 负载均衡器 IP 地址,请运行ibmcloud is lb <LB_ID>
并查找 公共 IP 字段。 如果几分钟后仍无法联系到负载平衡器,则可能是由于配置或连接问题导致其离线。 打开 IBM Cloud 支持案例。 对于“类型”,选择技术。 对于“类别”,请在 VPC 部分中选择网络。 在“描述”中,包含集群标识和 VPC 负载均衡器标识。
- 如果已修改