开发者社区> 问答> 正文

Istio的设计目标是什么?

Istio的设计目标是什么?

展开
收起
令人无语的八阿哥 2021-10-29 16:59:28 324 0
来自:华章出版社
1 条回答
写回答
取消 提交回答
  • Istio的架构设计中有几个关键目标,这些目标对于系统应对大规模流量和高性能地进行服务处理至关重要:

    • 最大化透明:为了让Istio被更广泛采用,运维和开发人员只需要付出很少的代价就可以从中受益。为此Istio将自己自动注入所有的网络路径的服务中。Istio使用Sidecar代理来捕获流量,不需要对已部署的应用程序代码进行任何改动。在Kubernetes中,代理被注入Pod中,通过编写iptables规则来捕获流量。注入Sidecar代理到Pod中并且修改路由规则后,Istio就能够拦截所有流量。这个原则也适用于性能,所有组件和API在设计时都必须考虑性能和规模。

    • 增量:随着运维人员和开发人员越来越依赖Istio,系统必然会一起成长。Istio会继续添加新功能,但是最重要的是扩展策略系统的能力,集成其他策略和控制来源,并将网格行为信号传播到其他系统进行分析。策略运行时支持标准扩展机制以便插入其他服务中。

    • 可移植性:Istio必须支持以最小的代价在任何云和本机环境上运行。将Istio上的服务进行迁移也是可行的。

    • 策略一致性:在服务间的API调用中,策略的应用使得可以对网格间行为进行全面的控制,但对于不需要在API级别表达的资源来说,对资源应用策略也同样重要。例如,将配额应用到ML训练任务消耗的CPU数量上,比将配额应用到启动这个工作的调用上更为有用。因此,策略系统作为独特的服务来维护,具有自己的API,而不是将其放到Sidecar代理中,这容许服务根据需要直接与其集成。

    资料来源:《Istio入门与实战》,文章链接:https://developer.aliyun.com/article/725525

    2021-10-29 17:19:10
    赞同 展开评论 打赏
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
Kubernetes上基于Istio体验云原生应用实践 立即下载
Kubernetes的网络实践 立即下载
Service Mesh实践及落地风险控制 立即下载

相关实验场景

更多