{
  "schema_version": 2,
  "id": "operate/kubernetes/recommendations/node-resources",
  "title": "Manage node resources",
  "url": "https://redis.io/docs/latest/operate/kubernetes/8.2.0/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## Transparent Huge Pages\n\nRedis recommends disabling Transparent Huge Pages (THP) on every Kubernetes node that hosts Redis Software pods. THP causes a latency penalty and increases memory usage, and Redis logs a warning at startup when it is enabled.\n\nThe operator does not manage this setting. Kubernetes has no API object for kernel tunables, so you configure THP on the nodes themselves.\n\nCheck the current setting on your nodes and disable THP where it is enabled. For instructions, see your platform's documentation. For background on how THP affects Redis, see [Latency induced by transparent huge pages](https://redis.io/docs/latest/operate/oss_and_stack/management/optimization/latency#latency-induced-by-transparent-huge-pages).\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://redis.io/docs/latest/operate/kubernetes/reference/api/redis_enterprise_cluster_api#spec) 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-10-19T14:33:15-05:00"
}
