使用AGIC与其他服务共享的Azure网关中的探测出错



几天来,我一直面临着一个棘手的错误。

我在与其他应用程序共享的网关上公开了一个k8s集群。在k8s端,我们安装了AGIC以公开集群,在应用程序网关中,有一个httpplistener,我已将其包含在AzureIngressProhibitedTarget中。

当我向应用程序网关添加一个新的侦听器,创建一个新AzureIngressProhibitedTarget时,问题就开始了。

问题是,每次我们部署集群中托管的任何微服务时,当我们试图访问应用程序时,都会遇到502错误。

分析问题时,我们首先发现了一个错误,如下所示:

reason: FailedApplyingAppGwConfig
message: >-
network.ApplicationGatewaysClient#CreateOrUpdate: Failure sending request:
StatusCode=0 -- Original Error:
Code="ApplicationGatewayRequestRoutingRulePartialPriorityDefined"
Message="Either all or no rule should have the priority specified." Details=[]
source:
component: azure/application-gateway
host: application-gateway-kubernetes-ingress-ingress-azure-74f75pb2dl

由于找不到问题,我们删除并重新创建了侦听器,一切都重新开始工作。

今天我做了一个新的部署,遇到了同样的错误(502,当我试图访问应用程序时(,分析这个问题时,我在一个长时间没有修改的服务的pod事件中发现了以下错误:

message: >-
Readiness probe failed: Get "http://[ip]:15902/osm-readiness-probe":
context deadline exceeded (Client.Timeout exceeded while awaiting headers)
source:
component: kubelet
host: aks-default-11069749-vmss000005
message: >-
Liveness probe failed: Get "http://[ip]:15901/osm-liveness-probe":
context deadline exceeded (Client.Timeout exceeded while awaiting headers)
source:
component: kubelet
host: aks-default-11069749-vmss000005

删除和重新创建侦听器我在发现以前问题的同一个pod中遇到的唯一错误是以下错误(在删除并重新创建pod之后(:

message: 'Readiness probe failed: HTTP probe failed with statuscode: 504'
source:
component: kubelet
host: aks-default-11069749-vmss000004

我已经检查了AzureIngressProhibitedTarget配置,似乎没有任何问题,我甚至找不到解决这个问题的方法。有人遇到过类似的问题吗?

我发现了这个问题,我的AGIC版本是1.5.1,第一个问题是1.5.2版本中修复的一个错误(阅读本文(,其他问题是第一个错误的结果。决议是更新AGIC,删除禁止所有目标,并重新启动AGIC吊舱。

最新更新