# Tune Kubernetes Worker Nodes for Production

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [streaming-full.txt](https://docs.redpanda.com/streaming-full.txt)

---
title: Tune Kubernetes Worker Nodes for Production
latest-redpanda-tag: v25.3.11
latest-console-tag: v3.7.3
latest-operator-version: v26.1.4
# EOL = End-of-Life (support lifecycle status)
page-is-nearing-eol: "false"
page-is-past-eol: "false"
page-eol-date: November 19, 2026
latest-connect-version: 4.93.0
docname: redpanda/kubernetes/k-tune-workers
page-component-name: streaming
page-version: "25.3"
page-component-version: "25.3"
page-component-title: Streaming
page-relative-src-path: redpanda/kubernetes/k-tune-workers.adoc
page-edit-url: https://github.com/redpanda-data/docs/edit/v/25.3/modules/deploy/pages/redpanda/kubernetes/k-tune-workers.adoc
description: To get the best performance from your hardware, set Redpanda to production mode and run the autotuner tool. The autotuner identifies your hardware configuration and tunes itself to give you the best performance.
page-git-created-date: "2025-08-15"
page-git-modified-date: "2025-08-15"
support-status: supported
---

<!-- Source: https://docs.redpanda.com/streaming/25.3/deploy/redpanda/kubernetes/k-tune-workers.md -->

To get the best performance from your hardware, set Redpanda to production mode on each worker node and run the [autotuner tool](https://docs.redpanda.com/streaming/25.3/reference/rpk/rpk-redpanda/rpk-redpanda-tune/). The autotuner identifies the hardware configuration of your worker node and optimizes the Linux kernel to give you the best performance.

## [](#prerequisites)Prerequisites

Make sure that your current Linux user has root privileges. The autotuner requires privileged access to the Linux kernel settings.

## [](#install-redpanda)Install Redpanda

To run the autotuner, you need to install the Redpanda binary on each worker node.

### Fedora/RedHat

```bash
# Run the setup script to download and install the repo
curl -1sLf 'https://dl.redpanda.com/nzc4ZYQK3WRGd9sy/redpanda/cfg/setup/bash.rpm.sh' | sudo -E bash && \
# Use yum to install redpanda
sudo yum install redpanda -y
```

### Debian/Ubuntu

```bash
# Run the setup script to download and install the repo
curl -1sLf 'https://dl.redpanda.com/nzc4ZYQK3WRGd9sy/redpanda/cfg/setup/bash.deb.sh' | sudo -E bash && \
# Use apt to install redpanda
sudo apt install redpanda -y
```

## [](#run-the-autotuner)Run the autotuner

To tune the Linux kernel of your worker nodes, run the autotuner on each worker node that will host a Redpanda broker.

1.  Set Redpanda to production mode:

    ```bash
    sudo rpk redpanda mode production
    ```

2.  Run the autotuner:

    ```bash
    sudo rpk redpanda tune all
    ```

    Expected output:

    ```none
    TUNER                  APPLIED  ENABLED  SUPPORTED  ERROR
    aio_events             true     true     true
    ballast_file           true     true     true
    clocksource            true     true     true
    coredump               false    false    true
    cpu                    true     true     true
    disk_irq               true     true     true
    disk_nomerges          true     true     true
    disk_scheduler         true     true     true
    disk_write_cache       false    true     false      Disk write cache tuner is only supported in GCP
    fstrim                 false    false    true
    net                    true     true     true
    swappiness             true     true     true
    transparent_hugepages  false    false    true
    ```


Changes to the Linux kernel are not persisted. If a worker node restarts, make sure to run `sudo rpk redpanda tune all` on it again.

> 💡 **TIP**
>
> You can use a privileged DaemonSet to schedule the autotuner on each worker node that runs a Redpanda broker. Apply taints to Nodes that successfully complete the autotuner command. Use tolerations on your Pods so that they are scheduled only on tuned worker nodes.

For details about the autotuner, including how to enable or disable an individual tuner, see the [rpk redpanda tune](https://docs.redpanda.com/streaming/25.3/reference/rpk/rpk-redpanda/rpk-redpanda-tune/) command reference.

## [](#io)Generate optimal I/O configuration settings

After tuning the Linux kernel, you can optimize Redpanda for the I/O capabilities of your worker node by using `rpk` to run benchmarks that capture its read/write IOPS and bandwidth capabilities. After running the benchmarks `rpk` saves the results to an I/O configuration file (`io-config.yaml`) that Redpanda can read upon startup to optimize itself for the worker node.

> 📝 **NOTE**
>
> Unlike the autotuner, it isn’t necessary to run `rpk iotune` each time Redpanda is started, as its I/O output configuration file can be reused for each worker node that runs on the same type of hardware.

1.  Run the I/O benchmark on your worker node:

    ```bash
    rpk iotune
    ```

    Example output:

    `/etc/redpanda/io-config.yaml`

    ```yaml
    disks:
    - mountpoint: /
      read_iops: 40952
      read_bandwidth: 5638210048
      write_iops: 6685
      write_bandwidth: 1491679488
    ```

    When this command is successful, the I/O configuration file is saved to `/etc/redpanda/io-config.yaml` by default.

2.  Copy the file to your local machine.

3.  Create a ConfigMap in the same namespace in which you will deploy Redpanda to store the I/O configuration file:

    ```bash
    kubectl create configmap redpanda-io-config --namespace <namespace> --from-file=<path-to-io-config-file>
    ```


You will mount this file onto the Pods that run Redpanda so that Redpanda can read it at startup. See [Deploy Redpanda for Production in Kubernetes](https://docs.redpanda.com/streaming/25.3/deploy/redpanda/kubernetes/k-production-deployment/).

For more details about this procedure, see [Optimize I/O](https://docs.redpanda.com/streaming/25.3/manage/io-optimization/).

## [](#next-steps)Next steps

[Deploy the Redpanda cluster](https://docs.redpanda.com/streaming/25.3/deploy/redpanda/kubernetes/k-production-deployment/).

## Suggested labs

-   [Disaster Recovery with Envoy and Shadowing](https://docs.redpanda.com/labs/docker-compose/envoy-shadowing/)
-   [Redpanda Iceberg Docker Compose Example](https://docs.redpanda.com/labs/docker-compose/iceberg/)
-   [Stream Jira Issues to Redpanda for Real-Time Metrics](https://docs.redpanda.com/labs/docker-compose/jira-metrics-pipeline/)
-   [Migrate Data with Redpanda Migrator](https://docs.redpanda.com/labs/docker-compose/redpanda-migrator/)
-   [Start a Single Redpanda Broker with Redpanda Console in Docker](https://docs.redpanda.com/labs/docker-compose/single-broker/)
-   [Start a Cluster of Redpanda Brokers with Redpanda Console in Docker](https://docs.redpanda.com/labs/docker-compose/three-brokers/)
-   [Set Up GitOps for the Redpanda Helm Chart](https://docs.redpanda.com/labs/kubernetes/gitops-helm/)
-   [Iceberg Streaming on Kubernetes with Redpanda, MinIO, and Spark](https://docs.redpanda.com/labs/kubernetes/iceberg/)
-   [Set Up MySQL CDC with Debezium and Redpanda](https://docs.redpanda.com/labs/docker-compose/cdc-mysql-json/)
-   [Set Up Postgres CDC with Debezium and Redpanda](https://docs.redpanda.com/labs/docker-compose/cdc-postgres-json/)

See more

[Search all labs](https://docs.redpanda.com/labs)