管理节点资源
关于使用Redis Enterprise for Kubernetes管理节点资源和设置驱逐阈值的建议。
节点驱逐阈值
Kubernetes 使用 节点压力驱逐 来终止 pod 并释放节点资源。当您使用以下建议时,Redis Enterprise for Kubernetes 效果最佳。
驱逐阈值由kubelet参数管理。
Redis 建议设置一个较高的 软驱逐阈值。这会在足够早的时候改变节点状态,以提醒管理员。
我们还建议将eviction-soft-grace-period
设置得足够高,以便管理员能够扩展集群。
有关在特定平台上配置驱逐阈值的更多信息,请参阅OpenShift的释放节点资源或GKE的集群架构。
监控节点状态
Redis 建议监控节点条件。如果 MemoryPressure
和 DiskPressure
都为真,则达到了驱逐阈值。
> kubectl get nodes -o jsonpath='{range .items[*]}name:{.metadata.name}{"\t"}MemoryPressure:{.status.conditions[?(@.type == "MemoryPressure")].status}{"\t"}DiskPressure:{.status.conditions[?(@.type == "DiskPressure")].status}{"\n"}{end}'
name:gke-55d1ac88-213c MemoryPressure:False DiskPressure:False
name:gke-55d1ac88-vrpp MemoryPressure:False DiskPressure:False
name:gke-7253cc19-42g0 MemoryPressure:False DiskPressure:False
有关监控节点条件的更多信息,请参阅Node conditions在kubernetes.io上。
资源配额
Kubernetes 使用 ResourceQuota
对象来限制每个命名空间的资源消耗。这使您可以限制命名空间创建的对象数量或命名空间消耗的计算资源量。
Redis Enterprise for Kubernetes 的资源设置在 operator.yaml
和 RedisEnterpriseCluster
自定义资源中定义。
以下设置是操作员正常运行的最低工作负载。
resources:
limits:
cpu: 0.5
memory: 256Mi
requests:
cpu: 0.5
memory: 256Mi
有关使用资源配额的更多详细信息,请参阅Kubernetes文档。