本节介绍了集群中 Istio 组件的最低推荐计算资源。每个组件的 CPU 和内存分配都是可调整的。启用 Istio 之前,建议您确认 Rancher worker 节点具是否有足够的 CPU 和内存资源,运行 Istio 的所有组件。在较大型的部署中,我们建议通过为每个 Istio 组件添加节点选择器,将基础结构放置在集群中的专用节点上。

在 Kubernetes 中,资源请求意味着除非该节点至少具有指定数量的可用内存和 CPU,否则不会在该节点上部署工作负载。如果工作负载超过 CPU 或内存的限制,则可以终止该工作负载或将其从节点中逐出。有关管理容器资源限制的更多信息,请参考 。

下表汇总了建议的最低资源要求以及每个 Istio 核心组件的 CPU 和内存限制。

操作步骤

您可以为每种 Istio 组件类型分别配置资源分配。本节包括每个组件的默认资源分配。

为了更轻松地将工作负载调度到节点,集群管理员可以减少对该组件的 CPU 和内存资源请求。但是,默认的 CPU 和内存分配是我们建议的最小值。

要配置分配给 Istio 组件的资源,

  1. 在 Rancher 中,转到已安装 Istio 的集群。
  2. 单击 工具 > Istio。这将打开 Istio 配置页面。
  3. 单击 保存

结果: Istio 组件的资源分配已更新。

组件提供以下功能:

  • 认证配置
  • Envoy sidecar 的服务发现
  • 用于智能路由的流量管理功能(A/B 测试和金丝雀发布)

有关 Pilot 组件的更多信息,请参阅文档.

选项描述是否必填项默认值
Pilot CPU 限制Istio-pilot pod 的 CPU 资源限制。1000
Pilot CPU 预留Istio-pilot pod 的 CPU 资源预留。500
Pilot Memory 限制Istio-pilot pod 的内存资源限制。4096
Pilot Memory 预留Istio-pilot pod 的内存资源预留。2048
跟踪抽样比例1
Pilot 结点选择器能够选择将 istio-pilot pod 部署到的节点。要使用此选项,节点必须带有对应标签。n/a

Mixer

组件跨服务网格实施访问控制和使用策略。它还与用于监视工具(例如 Prometheus)的插件集成。Envoy sidecar 将遥测数据和监视数据传递给 Mixer,而 Mixer 将监视数据传递给 Prometheus。

分布式跟踪使用户可以通过服务网格跟踪请求。这使解决延迟,并行性和序列化问题变得更加容易。

选项描述是否必填项默认值
启用跟踪是否部署 istio-tracing。
Tracing CPU 限制Istio-tracing pod 的 CPU 资源限制。500
Tracing CPU 预留Istio-tracing pod 的 CPU 资源预留。100
Tracing Memory 限制Istio-tracing pod 的内存资源限制。1024
Tracing Memory 预留Istio-tracing pod 的内存资源预留。100
Tracing 结点选择器能够选择将 tracing pod 部署到的节点。要使用此选项,节点必须带有对应标签。n/a

Ingress 网关

Istio 网关允许将 Istio 功能(例如监视和路由规则)应用于进入集群的流量。此网关是外部流量向 Istio 发出请求的先决条件。

详情请参阅文档.

Prometheus 是一个开源系统监视和警报工具包,您可以使用 Prometheus 查询 Istio 指标。

选项描述是否必填项默认值
Prometheus CPU 限制Prometheus pod 的 CPU 资源限制。1000
Prometheus CPU 预留Prometheus pod 的 CPU 资源预留。750
Prometheus Memory 限制Prometheus pod 的内存资源限制。1024
Prometheus Memory 预留Prometheus pod 的内存资源预留。750
Prometheus 数据保留Prometheus 实例保留数据的时长6
Prometheus 结点选择器能够选择将 Prometheus pod 部署到的节点。要使用此选项,节点必须带有对应标签。n/a

Grafana

Grafana 可让您可视化 Prometheus 抓取的 Istio 流量数据,您可以使用 Grafana 可视化指标。