istio 控制pod(vm)的端口转发
将 istio 安装在vm中,并接入k8s系统(vm作为一个pod,但ip仍然是本身的ip,没有使用集群安装时指定的cidr.
原架构
每个服务为一台服务器
ServerA -> ServerB
ServerA -> ServerB
ServerA -> ServerB
现架构
ServiceA -> Istio-Proxy -> ServiceB
ServiceA -> Istio-Proxy -> ServiceB
ServiceA -> Istio-Proxy -> ServiceB
功能需求:
ServiceA 的tcp请求(如 1232端口) 只能转发到 istio-Proxy, 经过代理后,再转发到 ServiceB。中间代理层会执行一些安全策略。文档 https://istio.io/latest/zh/do...
文档里讲的VIP是虚拟服务的IP地址,我这里使用的是 Istio-Proxy 的IP 192.168.3.120
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: tcp-forward-120
spec:
hosts:
- svc120
addresses:
- 192.168.3.120/24
ports:
- number: 27017
name: mongodb
protocol: MONGO
location: MESH_EXTERNAL
resolution: STATIC
endpoints:
- address: 192.168.3.61
发现从其它机器(未加入k8s集群)连接到 192.168.3.120的时候,端口并没有转到,而是直接转到120机器的mongodb数据库了。
另不清楚当前使用的 ServcieEntry 是否正确?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论