第 16 章 自动扩展
Kubernetes 包含 HorizontalPodAutoscaler,允许 StatefulSets 或 Deployment 根据指定的指标自动扩展或缩减。Infinispan CR 会公开 .status.scale 子资源,它允许 HorizontalPodAutoscaler 资源以 Infinispan CR 为目标。
在定义 HorizontalPodAutoscaler 配置前,请考虑您定义的 Data Grid 缓存类型。分布式和复制缓存有不同的扩展要求,因此为运行这些缓存类型的组合定义了 HorizontalPodAutoscaler 可能并不具有优势。例如,定义当内存用量达到特定百分比时扩展的 HorizontalPodAutoscaler 允许在定义分布式缓存时增加整个缓存容量,因为缓存条目分散到 pod 中,但它无法像每个 pod 主机所有缓存条目一样使用复制缓存。相反,根据 CPU 使用率配置 HorizontalPodAutoscaler,对于每个 pod 都包含所有缓存条目的集群会更有益,因此在附加节点间分布读取请求将允许同时处理更多请求。
16.1. Configuring HorizontalPodAutoscaler 复制链接链接已复制到粘贴板!
创建一个以 Infinispan CR 为目标的 HorizontalPodAutoScaler 资源。
流程
在与
InfinispanCR 相同的命名空间中定义HorizontalPodAutoscaler资源Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
InfinispanCR 的名称
如果使用类型为 cpu 或 memory 的指标资源,您必须在 Infinispan CR 中为此资源配置请求/限制。
在升级 Data Grid 集群时,应删除 HorizontalPodAutoscaler,因为自动扩展会导致升级过程进入非预期的状态,因为 Operator 需要将集群缩减为 0 个 pod。