我已经使用 Azure 应用程序网关入口控制器 (AGIC) 设置了带有 Azure Kubernetes 服务的 Azure 应用程序网关,并使用示例留言簿应用程序确认它正常运行。
然后,我使用几乎完全相同的配置将使用 gRPC 网关的 Golang 应用程序部署到同一个 AKS 集群。
默认的活跃度和就绪性健康检查失败,因此我配置了自定义执行程序(不适合生产),以便它们通过检查并被添加到后端池中。
网关(REST)pod 是健康的,但是使用 gRPC 的 pod 仍然不健康并出现以下错误消息。
Cannot connect to server. Check whether any NSG/UDR/Firewall is blocking
access to server. Check if application is running on correct port.
我猜测网关不支持 gRPC/二进制通信,但我不确定并且在文档中找不到任何内容。
设置详细信息:-Greenfield - 应用程序网关入口控制器构建 AKS 集群的教程
我已经向 Microsoft 提交了帮助单,但仍在等待回复。还有其他人尝试过使用应用程序网关托管 gRPC 应用程序吗?
答案1
虽然我找不到明确的答案,但文档应用程序网关入口控制器似乎表明不支持 gRPC,但正在努力中。
我们正在努力通过客户一直要求的功能增强产品,例如使用存储在应用程序网关上的证书、相互 TLS 身份验证、gRPC 和 HTTP/2