当前位置: 首页 > 知识库问答 >
问题:

向GKE公开Istio入口网关作为NodePort并运行健康检查

阳光辉
2023-03-14

我正在GKE集群中运行Istio入口网关。服务通过一个节点端口运行。我想将其连接到Google后端服务。然而,我们需要有一个健康检查,必须针对Istio运行。您知道Istio是否公开任何HTTPendpoint来运行运行状况检查并验证其状态吗?

共有2个答案

商冠玉
2023-03-14

健康检查不一定针对Istio本身运行,而是针对您为负载均衡器后端服务配置的IP地址后面的整个堆栈运行。当没有主机名调用时,它只需要对/进行200响应。

您可以通过安装一个小型服务(如httpbin)作为网关的默认路径来配置它。

您还可以考虑将您的Service更改为LoadBalancer类型,注释为您的网络内部(没有公共IP)。这将生成一个后端服务,并包含健康检查,您可以将其借用给您的其他负载均衡器。这种方法适用于嵌套负载均衡器(迁移负载),但不适用于Google的IAP等代理。

童冠玉
2023-03-14

根据本安装指南,“Istio不需要更改应用程序本身。请注意,应用程序的所有HTTP流量都必须使用HTTP/1.1或HTTP/2.0协议,因为特使代理不支持HTTP/1.0:它依赖于HTTP/1.0中不存在的标头进行路由。”

 类似资料:
  • 我正在学习如何使用入口在谷歌Kubernetes引擎上公开我的应用程序。我学习了几本教程,大致了解了需要什么。然而,我不知道为什么我的服务被标记为不健康,尽管它们可以从我直接定义的NodePort服务访问。 这是我的部署文件:(我删除了一些数据,但大部分保持不变) 在阅读时,我需要一个ReadinessProbe和LivinessProbe,以便GKE在我定义的路径上运行健康检查,并且通过使用我自

  • 在设置ELB健康检查的对话框中,它会声明: 如果实例未通过健康检查,它将自动从负载均衡器中删除。自定义健康检查以满足您的特定需要。 当健康检查失败时,将从ELB后面删除实例。我的问题是围绕“健康门槛”设置。当你悬停在帮助上时,它会说: 在声明EC2实例健康之前连续运行状况检查成功的次数。 如果实例声明为健康的,它是否被拉回负载平衡组?

  • 因此,我们正在使用全局MTL部署istio 1.0.2,目前进展顺利。对于健康检查,我们为服务添加了单独的端口,并根据文档进行了配置: https://istio.io/docs/tasks/traffic-management/app-health-check/#mutual-tls-is-enabled 我们的应用程序端口现在位于 8080 上,运行状况检查端口位于 8081 上。完成此操作后

  • 我有一个在kubernetes pod中运行的应用程序(在我的本地docker桌面上,启用kubernetes),监听端口8080。然后我有以下kubernetes配置 这个很好用。但我想把443端口改成其他端口,比如8443(因为我将有多个网关)。当我有这个,我不能再访问应用程序了。是否有一些配置我遗漏了?我猜我需要配置Istio来接受8443端口?我使用以下命令安装了istio: 编辑:我读了

  • 我很难理解Istio网关端口到底是如何使用的。我指的是下面例子中的第14行 从Istio文档中: 代理应在其上侦听传入连接的端口。因此,如果您应用上面的yaml文件并检查istio-ingress网关pod以监听TCP端口,您会发现实际上使用了端口8169(见下面的输出) 但棘手的部分来了。如果在应用Gateway之前更改istio-ingress网关服务如下: 然后应用网关,实际使用的端口不是8

  • 我已经在端口80上配置了一个通过apache公开的web应用程序pod。我无法配置从internet访问的服务入口。问题是后端服务总是报告为不健康。 Pod配置: 服务配置: 入口配置: 这会导致后端服务报告为不健康。 健康检查设置: