CPU 和内存分配

本文介绍我们建议在集群中分配给 Istio 组件的最少计算资源。

每个组件的 CPU 和内存分配是可配置的。

在启用 Istio 之前,建议你先确认你的 Rancher worker 节点是否有足够的 CPU 和内存来运行 Istio 的所有组件。

CPU 和内存分配 - 图1提示

在规模较大的部署中,我们强烈建议通过为每个 Istio 组件添加节点选择器,来将基础设施放置在集群中的专用节点上。

下表总结了每个核心 Istio 组件推荐配置的 CPU 和内存的最低资源请求和限制。

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

工作负载CPU - 请求内存 - 请求CPU - 限制内存 - 限制
入口网关100m128mi2000m1024mi
出口网关100m128mi2000m1024mi
istiod500m2048mi没有限制没有限制
proxy10m10mi2000m1024mi
总计:710m2314Mi6000m3072Mi

配置资源分配

你可以为每种类型的 Istio 组件单独配置资源分配。本节介绍了每个组件默认分配的资源。

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

关于 Istio 配置的更多信息,请参阅 Istio 官方文档

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

  • Rancher v2.6.5+
  • Rancher 版本低于 v2.6.5
  1. 点击 ☰ > 集群管理
  2. 选择你创建的集群,并点击 Explore
  3. 在左侧导航栏中,点击 Apps
  4. 点击已安装的应用
  5. 转到 istio-system 命名空间。在某个 Istio 工作负载中(例如 rancher-istio),点击⋮ > 编辑/升级
  6. 点击升级,然后通过更改 values.yaml 或添加覆盖文件来编辑基本组件。有关编辑覆盖文件的更多信息,请参阅本节
  7. 更改 CPU 或内存分配、调度各个组件的节点,或节点容忍度。
  8. 点击升级。然后,更改就能启用。

  9. 点击 ☰ > 集群管理

  10. 选择你创建的集群,并点击 Explore
  11. 在左侧导航栏中,点击应用 & 应用市场
  12. 点击已安装的应用
  13. 转到 istio-system 命名空间。在某个 Istio 工作负载中(例如 rancher-istio),点击⋮ > 编辑/升级
  14. 点击升级,然后通过更改 values.yaml 或添加覆盖文件来编辑基本组件。有关编辑覆盖文件的更多信息,请参阅本节
  15. 更改 CPU 或内存分配、调度各个组件的节点,或节点容忍度。
  16. 点击升级。然后,更改就能启用。

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

编辑覆盖文件

覆盖文件可以包含 Istio Operator 规范中的任意值。包含 Istio 应用的覆盖文件只是覆盖文件潜在配置的一个示例。

只要文件包含 kind: IstioOperator 且 YAML 选项有效,文件就可以用作覆盖。

在 Istio 应用提供的示例覆盖文件中,以下部分能让你更改 Kubernetes 资源:

  1. # k8s:
  2. # resources:
  3. # requests:
  4. # cpu: 200m