Istio的网络API解释了

Istio 1.0版附带一个网络API,该API包含许多功能并涵盖了各种情况。 联网API在最近几个月中得到了发展,并且可能无法立即说明。 该API的概念和构建块是什么,以及如何使用各个Istio资源类型来通过我们的服务网格路由流量?

尽管文档提供了大量有用的信息,但我还是想用自己的语言来描述和解释流量路由。 我必须付出很多努力才能理解概念和动机是什么,尤其是如何应用各个组成部分。

以下视频旨在解释Istio的网络( v3alpha )API的概念,以及通常如何应用构建基块。 它显示了服务网格中各个组件的可视模型,希望可以帮助您理解和使用Istio。

什么时候使用

虚拟服务 :将属于网状网的服务的流量路由到特定目标或其子集,和/或以某些行为(例如超时)注释HTTP(默认)路由。

目标规则 :设置路由流量的策略,例如TLS设置,异常检测或负载平衡器设置,和/或定义属于网格的服务子集。

服务条目 :将其他服务添加到Istio的内部服务注册表中,这是将流量路由到外部服务所必需的。 可以通过虚拟服务和目标规则来增强所添加的服务。

网关(入口) :将入口流量路由到服务网格。 网关需要绑定到虚拟服务,该服务定义将入口流量路由到的位置。

网关(出口) :定义一个出口,可以将离开网格的所有出口流量路由通过。 对于仅特定节点可以或应该访问外部网络的方案可能是必需的。

见解和“陷阱”

开始使用Istio的网络功能后,您可能需要考虑一些我自己的见解。 其中一些听起来很明显,但可能包含“陷阱”效果。

  • 虚拟服务以及目标规则不必与平台(Kubernetes)服务1:1匹配。
  • HTTP和HTTPS / TLS的运行方式有所不同,尤其是在路由规则和其他“增强”方面,这主要是由于流量的加密性质。 例如
    • HTTPS通信需要通过TLS规则(使用端口和SNI)而不是HTTP规则进行路由。
  • 为了利用所有路由功能,有必要在服务网格内部使用未加密的HTTP。
    • Istio的可选mTLS仍可确保对网格内部流量进行加密,而无需应用程序级HTTPS / TLS。
  • 默认情况下,不允许外部流量向(外部)网格外的服务提供服务。 必须输入服务。
  • 入口或出口网关可以负责多个平台(Kubernetes)服务,但需要绑定到单个虚拟服务定义。
  • 通过为外部主机名定义的虚拟服务或目标规则,可以控制或“增强”出口流量。
  • 服务条目中指定的主机流量可以重新路由到内部服务。
  • 只要外部服务条目未重定向到另一个内部服务,就将其作为单独的服务进行监视。
  • Istio不执行DNS解析,但是,代理将根据主机名路由通信。
    • Istio代理将主机名和SNI名称都考虑在内,并且可以将流量重新路由到内部或外部服务。

我希望这可以澄清Istio的网络功能。 我们很高兴收到您的反馈!

更多信息

翻译自: https://www.javacodegeeks.com/2018/08/istios-networking-api-explained.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值