本节介绍了集群中 Istio 组件的最低推荐计算资源。每个组件的 CPU 和内存分配都是可调整的。启用 Istio 之前,建议您确认 Rancher worker 节点具是否有足够的 CPU 和内存资源,运行 Istio 的所有组件。在较大型的部署中,我们建议通过为每个 Istio 组件添加节点选择器,将基础结构放置在集群中的专用节点上。
在 Kubernetes 中,资源请求意味着除非该节点至少具有指定数量的可用内存和 CPU,否则不会在该节点上部署工作负载。如果工作负载超过 CPU 或内存的限制,则可以终止该工作负载或将其从节点中逐出。有关管理容器资源限制的更多信息,请参考 。
下表汇总了建议的最低资源要求以及每个 Istio 核心组件的 CPU 和内存限制。
操作步骤
您可以为每种 Istio 组件类型分别配置资源分配。本节包括每个组件的默认资源分配。
为了更轻松地将工作负载调度到节点,集群管理员可以减少对该组件的 CPU 和内存资源请求。但是,默认的 CPU 和内存分配是我们建议的最小值。
要配置分配给 Istio 组件的资源,
- 在 Rancher 中,转到已安装 Istio 的集群。
- 单击 工具 > Istio。这将打开 Istio 配置页面。
- 单击 保存。
结果: 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 可视化指标。