使用 Ingress 访问 Dapr 应用
在 上一篇 文章中分享了分布式运行时 Dapr 的使用,在示例中将状态存储能力分离到 Dapr 运行时中,应用通过 Dapr API 来使用该能力。这篇文章将介绍如何通过 Ingress Controller(入口控制器)来访问 Dapr 应用。 方案 如何公开 Dapr 应用的访问,方案有两种: 像传统用法一样,配置应用的 Service 作为后端,由入口控制器直接将流量转发到应用容器,简单说就是支持自动配置的 L7 负载均衡器。 不直接访问应用容器,而是通过 Daprd 运行时来访问。这时,我们就需要将入口控制器也声明为 Dapr 应用,为其注入 Daprd 运行时容器。此时创建入口规则指向的后端,则是 Ingress 的 Dapr Service。 两种方案各有优劣,前者架构简单;后者虽然引入 Daprd 容器,架构复杂,消耗了更多的资源,但也因此可以使用 Dapr 的服务治理能力,如超时、重试、访问控制等等。 接下来我们将通过示例来分别验证两种方案。