首页 > 解决方案 > 如何在 Kubernetes 中拦截对服务的请求?

问题描述

假设我在 Kubernetes 中定义了一个Service命名。my-backend我想拦截发送到该服务的每个请求,正确的方法是什么?例如,同一命名空间下的另一个容器通过http://my-backend发送请求。

我尝试使用带有验证 Webhook 的准入控制器。但是,它可以拦截对服务资源的 CRUD 操作,但无法拦截到特定服务的任何连接。

标签: kubernetes

解决方案


在 Kubernetes中没有直接的方法来拦截对服务的请求。

对于解决方法,这是您可以做的-

  1. 创建一个 sidecar 容器来记录每个传入的请求。日志记录

  2. 在您的容器中运行tcpdump -i eth0 -n并过滤掉请求

  3. 使用Zipkin

  4. 在云提供商上创建服务,将有自己的日志记录机制。对于前-aws 上的负载均衡器服务将在 S3 上生成其日志。aws elb 日志


推荐阅读