{
  "id": "node-resources",
  "title": "Manage node resources",
  "url": "https://redis.io/docs/latest/operate/kubernetes/7.8.4/recommendations/node-resources/",
  "summary": "Recommendations on managing node resources and setting eviction thresholds with Redis Enterprise for Kubernetes.",
  "content": " \n\n\n## Node eviction thresholds\n\n Kubernetes uses [node-pressure eviction](https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/) to terminate pods and free up node resources. Redis Enterprise for Kubernetes works best when you use the recommendations below.\n\nEviction thresholds are managed by [kubelet arguments](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/).\n\nRedis recommends setting a high [soft eviction threshold](https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#soft-eviction-thresholds). This changes the node condition early enough to alert the administrator.\n\nWe also recommend setting the [`eviction-soft-grace-period`](https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#soft-eviction-thresholds) high enough for the administrator to scale the cluster.\n\nFor more information about configuring eviction thresholds on specific platforms, see [Freeing node resources](https://docs.openshift.com/container-platform/4.9/nodes/nodes/nodes-nodes-garbage-collection.html) for OpenShift or [Cluster architecture](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#node_allocatable) for GKE.\n\n### Monitor node conditions\n\nRedis recommends monitoring the node conditions. If both `MemoryPressure` and `DiskPressure` are true, the eviction threshold was met.\n\n```sh\n\u003e 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}'\nname:gke-55d1ac88-213c\tMemoryPressure:False\tDiskPressure:False\nname:gke-55d1ac88-vrpp\tMemoryPressure:False\tDiskPressure:False\nname:gke-7253cc19-42g0\tMemoryPressure:False\tDiskPressure:False\n```\n\nFor more information about monitoring node conditions, see [Node conditions](https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#node-conditions) on [kubernetes.io](https://kubernetes.io/docs/home/).\n\n## Resource quotas\n\nKubernetes uses the `ResourceQuota` object to limit resource consumption per namespace. This lets you limit the number of objects created by a namespace or the amount of compute resources consumed by a namespace. \n\nThe resource settings for Redis Enterprise for Kubernetes are defined in the `operator.yaml` and the [`RedisEnterpriseCluster`](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/redis_enterprise_cluster_api.md#redisenterpriseclusterspec) custom resource.\n\nThe following settings are the minimum workloads for the operator to function.\n\n```yaml\n  resources:\n    limits:\n      cpu: 0.5\n      memory: 256Mi\n    requests:\n      cpu: 0.5\n      memory: 256Mi\n```\nFor more details on using resource quotas, see the [Kubernetes documentation](https://kubernetes.io/docs/concepts/policy/resource-quotas/).\n\n\n",
  "tags": ["docs","operate","kubernetes"],
  "last_updated": "2026-04-08T12:21:52-07:00"
}

