Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 44|回复: 0

[使用疑问] 通过出站流量限制减少 Istio 代理资源消耗

[复制链接]

1

主题

1

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-10-2 14:19:46 | 显示全部楼层 |阅读模式
本帖最后由 mitaparvin 于 2023-10-3 12:09 编辑


在这篇文章中,我们将讨论第一个问题:Istio 代理的资源消耗以及如何使用新的Sidecar自定义资源来减少资源消耗。 之前我们有一篇有关吞吐量的Kafka on Istio基准测试文章,我们将在即将发表的文章中深入研究最重要的 HTTP 请求指标(敬请关注)。 虽然本博客的第一部分重点介绍什么是Sidecar以及(基准测试)优势,但第二部分是关于如何在集群中正确设置 Sidecar 配置。 我们还将重点介绍Backyards(现在的思科服务网格管理器) ——我们基于 Istio 构建的自动化和可操作的服务网格——如何通过其 UI 或使用其自动代理配置功能 的 CLI轻松配置Sidecar 。 想知道更多?与我们联系,或深入了解最新版本的详细信息。 或者看看Backyards 为您自动化和简化的一些Istio 功能,我们已经在博客中介绍过这些功能。 自定义资源 Sidecar Istio因拥有大量自定义配置资源而闻名。

除其他因素外,这是使该项目变得异常复杂的原因之一。维护者意识到了这一点,并且最近的几个版本为简化 Istio采取了一些步骤。在此过程中,自定义资源的数量从大约 50 个减少到大约 25 个。但是,除了最常用的资源(例如VirtualService或DestinationRule)之外,仍然 有一些非常未知,例如Sidecar自定义资源。 Istio文档对此有如 电话号码列表 下说明: Sidecar 描述了 Sidecar 代理的配置,该代理调解与其附加的工作负载实例的入站和出站通信。默认情况下,Istio 将使用到达网格中每个工作负载实例所需的必要配置对网格中的所有 sidecar 代理进行编程,并接受与工作负载关联的所有端口上的流量。Sidecar 配置提供了一种方法来微调代理在将流量转发到工作负载或从工作负载转发流量时将接受的端口集和协议。此外,还可以限制代理从工作负载实例转发出站流量时可以访问的服务集。 在不使用此自定义资源的情况下,Pilot 会自动将相同的配置发送到代理,其中包含有关网格中每个工作负载实例的信息。Sidecar资源可用于针对一组工作负载微调 Envoy 配置。


这似乎是一个非常高级的用例,但是——尽管没有突出显示——定义的最后一句话产生了巨大的差异。它是关于限制sidecar 访问此处配置的服务之外的服务。 此功能非常容易配置,并且有两大好处: 安全性:Istio 管理员可以限制可以从特定命名空间或工作负载访问的服务集,因此可以确保这些工作负载无法访问其范围之外的任何内容。 性能:默认情况下,集群中的所有 Envoy 代理通过 xDS 从 Pilot 接收相同的配置,其中包含集群中的所有 pod。这种配置可能会很大,尤其是在大型集群中,而在大多数情况下,简单的工作负载仅与少​​数其他工作负载进行通信。更改此配置以仅包含一组必要的服务可能会对Istio 代理的内存占用产生很大影响。 由于这是一篇基准测试帖子,我们现在将关注性能优势。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-6-9 23:42 , Processed in 0.081565 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表