我正在运行在 europe-west2 中设置的 2 GKE 私有集群。我有一个用于 MCI 的专用配置集群和一个用于工作负载的工作集群。两个集群都注册到 Anthos 中心,并且在配置集群上启用了入口功能。此外,工作集群运行最新的 ASM 1.12.2。
就 MCI 而言,我的部署是基于可用文档的“标准”(即https://cloud.google.com/architecture/distributed-services-on-gke-private-using-anthos-service-mesh# configure-multi-cluster-ingress, terraform-example-foundation repo 等)。
一切正常,但无论我重新部署整个堆栈多少次,我都会遇到间歇性连接问题。盯着记录仪表板我的眼睛在流血。我用完了点来连接。
我正在探测从我的集群中提供的一些端点,这些端点大部分时间返回 200,并在下面记录以下内容resource.type="http_load_balancer"
:
{
httpRequest: {
latency: "0.081658s"
remoteIp: "20.83.144.189"
requestMethod: "GET"
requestSize: "360"
requestUrl: "https://foo.bar.io/"
responseSize: "1054"
serverIp: "100.64.72.136"
status: 200
...
}
insertId: "10mjvz4e8g0nq"
jsonPayload: {
@type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
statusDetails: "response_sent_by_backend"
}
...
resource: {
labels: {
backend_service_name: "mci-4z8mmz-80-asm-ingress-mcs-istio"
forwarding_rule_name: "mci-4z8mmz-fws-asm-ingress-mci-istio"
project_id: "prj-foo-bar"
target_proxy_name: "mci-4z8mmz-asm-ingress-mci-istio"
url_map_name: "mci-4z8mmz-asm-ingress-mci-istio"
zone: "global"
}
type: "http_load_balancer"
}
severity: "INFO"
spanId: "2a986abfc69bef6f"
timestamp: "2022-02-04T15:24:14.160642Z"
...
}
以随机间隔,在 1 - 5 小时之间,探针开始以 404 失败,持续 5 - 10 分钟,并记录以下内容:
{
httpRequest: {
...
requestMethod: "GET"
...
requestUrl: "https://foo.bar.io/"
...
status: 404
...
}
insertId: "10mjvz4e8g0nq"
jsonPayload: {
@type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
statusDetails: "internal_error"
}
...
resource: {
labels: {
backend_service_name: ""
forwarding_rule_name: "mci-4z8mmz-fws-asm-ingress-mci-istio"
project_id: "prj-foo-bar"
target_proxy_name: "mci-4z8mmz-asm-ingress-mci-istio"
url_map_name: "mci-4z8mmz-asm-ingress-mci-istio"
zone: "global"
}
type: "http_load_balancer"
}
severity: "WARNING"
...
}
backend_service_name
然后serverIp
消失,通过 MCI 提供的外部 LB 进行长时间的小睡。如果我在此期间尝试在浏览器中访问端点,我会得到 404 并最终得到connection was closed
.
我已经广泛搜索了日志,但找不到任何线索。
有没有人遇到过类似的问题?这可能是区域性的吗?我还没有尝试部署到另一个区域。
非常感谢任何信息/链接/想法。
编辑:
我还确认健康检查很好,没有过渡。Pod 永远不会收到请求,因此 404 来自外部 lb。