使用服务网格进行代理
如下图所示,用户 A
和 用户 B
,分别使用了 kubevpn proxy
命令代理了同一个服务 authors
:
- 用户 A:
kubevpn proxy deployment/authors --headers user=A
- 用户 B:
kubevpn proxy deployment/authors --headers user=B
当集群中的 authors
服务收到流量时:
HTTP header
中带有user: A
的流量会击中用户 A
的 本地电脑HTTP header
中带有user: B
的流量会击中用户 B
的本地电脑HTTP header
中不匹配的流量会击中集群中原始的authors
服务
原理是使用了 envoy
做了数据面,然后实现了一个 envoy
的控制面。