rpk redpanda: Node Lifecycle, Tuning & Broker Decommission
The rpk redpanda family operates a single Redpanda broker process and its
host node: starting/stopping the process, editing the node's local
redpanda.yaml, tuning the Linux kernel for production, and talking to a
broker's Admin API listener (including broker decommission/recommission).
rpk iotune (a separate top-level command) benchmarks the node's disk
hardware for the same node-provisioning story.
Self-managed only. These commands manage the broker process on the node
itself. They are not applicable to Redpanda Cloud (Serverless, BYOC,
Dedicated), where Redpanda operates the brokers. Most of the family is also
Linux-only: start, stop, mode, check, tune, config, and
iotune are hidden on macOS/Windows builds of rpk — only the admin
subtree (which talks to a possibly-remote Admin API) is available
everywhere.
Command Tree
| Command |
Purpose |
rpk redpanda start |
Start the local broker process (optionally tuning first) |
rpk redpanda stop |
Stop the local broker: SIGINT → SIGTERM → SIGKILL escalation |
rpk redpanda mode <mode> |
Switch node presets: production/prod, development/dev, recovery |
rpk redpanda check |
Verify the system meets Redpanda's requirements |
rpk redpanda tune <tuner>... | all |
The autotuner — optimize Linux kernel settings (root required) |
rpk redpanda tune list |
List tuners with enabled/supported status |
rpk redpanda tune help [TUNER] |
Describe a tuner in detail |
rpk redpanda config bootstrap |
Generate redpanda.yaml to form/join a cluster |
rpk redpanda config set <key> <value> |
Set node config values in redpanda.yaml |
rpk redpanda config print |
Display the node configuration (alias: dump) |
rpk redpanda config init |
(Deprecated) Set the node UUID after install |
rpk redpanda admin brokers list |
(Deprecated → rpk cluster info -b --detailed) List brokers via the admin listener |
rpk redpanda admin brokers decommission <ID> |
(Deprecated → rpk cluster brokers decommission) Remove a broker from the cluster |
rpk redpanda admin brokers decommission-status <ID> |
(Deprecated → rpk cluster brokers decommission-status) Monitor decommission progress |
rpk redpanda admin brokers recommission <ID> |
(Deprecated → rpk cluster brokers recommission) Abort an in-progress decommission |
rpk redpanda admin partitions list [ID] |
List the partitions hosted on one broker |
rpk redpanda admin config print |
(Deprecated → rpk cluster config list --node-id <ID>) Display a broker's effective configuration |
rpk redpanda admin config log-level set |
(Deprecated → rpk cluster loggers set) Temporarily change a broker's logger levels |
rpk iotune |
Benchmark disk I/O and write io-config.yaml for the broker to read at startup |
v26.2 relocation. The rpk redpanda admin brokers and rpk redpanda admin config commands are now hidden and deprecated. Broker
decommission/recommission moved to rpk cluster brokers, log-level control
to rpk cluster loggers, and per-node config printing to rpk cluster config list --node-id <ID> (all in the rpk-cluster skill). The old spellings
still run — they forward to the new commands — but new automation should use
the rpk cluster ... forms. rpk redpanda admin partitions list is
unaffected.
Quickstart
# --- Provision a production node (run on the node, as root where noted) ---
# 1. Generate redpanda.yaml with this node's IP and the seed servers
rpk redpanda config bootstrap --self <private-ip> --ips <ip1>,<ip2>,<ip3>
# 2. Switch the node to production mode (enables the production tuner set)
rpk redpanda mode production
# 3. Run the autotuner (requires root; Linux kernel settings)
sudo rpk redpanda tune all
# 4. Benchmark disk I/O once per hardware type (defaults: 10m run,
# writes /etc/redpanda/io-config.yaml which redpanda reads at startup)
sudo rpk iotune
# 5. Verify the system meets requirements, then start
rpk redpanda check
rpk redpanda start
# --- Development: one-shot local broker with dev presets ---
rpk redpanda start --mode dev-container
# --- Stop the local broker (SIGINT, then SIGTERM, then SIGKILL) ---
rpk redpanda stop --timeout 10s
# --- Node configuration (redpanda.yaml on local disk) ---
rpk redpanda config set redpanda.empty_seed_starts_cluster false
rpk redpanda config set rpk.tune_aio_events true
rpk redpanda config print
# --- Broker decommission (canonical since v26.2; rpk-cluster skill) ---
rpk cluster info -b --detailed # list brokers
rpk cluster brokers decommission 4
rpk cluster brokers decommission-status 4 -d -H # monitor
rpk cluster brokers recommission 4 # abort (only while in progress)
# --- Per-broker diagnostics via the admin listener ---
rpk redpanda admin partitions list 1 --leader-only
rpk cluster config list --node-id 0 # a broker's effective config
rpk cluster loggers set storage --node-id 0 -l debug -e 300
Decision Rules
rpk redpanda vs rpk cluster: rpk redpanda is node-level (the
local process, the local redpanda.yaml, per-broker admin operations).
rpk cluster is cluster-wide (cluster config, health, partition
balancing/movement, maintenance mode, self-test) — see the rpk-cluster
skill.
- Broker decommission moved in v26.2. The canonical commands are now
rpk cluster brokers decommission/decommission-status/recommission
(rpk-cluster skill). The rpk redpanda admin brokers ... spellings still
work but are hidden, deprecated aliases that forward there.
- Maintenance mode is NOT here. Draining leadership for a rolling
restart is
rpk cluster maintenance enable/disable/status (rpk-cluster
skill). Entering maintenance mode before decommissioning is optional —
decommission drains leadership gracefully on its own.
- Node config vs cluster config: properties in the local
redpanda.yaml (listeners, seeds, data dir, rpk.tune_* tuner flags)
are set with rpk redpanda config set and generally need a broker
restart. Cluster-wide properties (retention, tiered storage, etc.) are
rpk cluster config set and propagate to all nodes.
tune vs iotune: rpk redpanda tune (the autotuner) modifies
Linux kernel settings; rpk iotune benchmarks the disks and
writes an I/O properties file that redpanda reads at startup. A
production node wants both. iotune output is reusable across nodes with
identical hardware.
- Which node does a command touch?
start, stop, mode, check,
tune, config, and iotune act on the local machine. The admin
subtree targets whatever rpk.admin_api.addresses (or
-X admin.hosts=...) points at, so it can be run from anywhere.
- Not for local dev containers: to spin up throwaway local clusters in
Docker, use
rpk container (see the rpk skill) instead of
rpk redpanda start.
Broker Decommission (Top-Tier Ops Task)
Decommissioning permanently removes a broker: the controller leader moves
all of its partition replicas to the remaining brokers, then removes it
from the cluster. A decommissioned broker cannot rejoin, and its node ID
must never be reused.
Since v26.2 the canonical commands are rpk cluster brokers ... (rpk-cluster
skill); the rpk redpanda admin brokers ... aliases still work but are hidden
and deprecated.
# 1. Pre-check: cluster healthy, and remaining brokers can absorb the data
rpk cluster health
rpk cluster info -b --detailed
# 2. Start the decommission
rpk cluster brokers decommission 4
# 3. Monitor until every partition reaches 100% (add -d for bytes moved/remaining)
rpk cluster brokers decommission-status 4 -d -H
# 4. Changed your mind while it is still moving data? Abort:
rpk cluster brokers recommission 4
# 5. When complete, verify removal, then shut the node's process down
rpk cluster info -b --include-decommissioned
Before decommissioning, confirm the remaining broker count still satisfies
the highest topic replication factor, rack-awareness spread, disk capacity,
and partition-per-core limits. If progress stalls, check for leaderless
partitions and consider raising raft_learner_recovery_rate. Full
pre-checks, failure modes, --skip-liveness-check semantics, and the
maintenance-mode interaction are in
admin-and-decommission.md.
The Autotuner and iotune
rpk redpanda tune identifies the node's hardware and optimizes the Linux
kernel for Redpanda (disk IRQs, scheduler, AIO limits, swappiness, CPU
governor, and more). Run it as root, as part of production deployment, on
every broker node. Do not run it in Azure self-managed environments.
sudo rpk redpanda tune all # run every enabled tuner
rpk redpanda tune list # tuners + enabled/supported status (live source of truth)
rpk redpanda tune help <tuner> # what one tuner does
sudo rpk iotune # disk benchmark -> /etc/redpanda/io-config.yaml
The available tuners and their support status vary by kernel, hardware, and
cloud — always introspect with rpk redpanda tune list rather than relying
on a static list. Each tuner is toggled by an rpk.tune_* key in
redpanda.yaml (for example rpk.tune_aio_events), set via
rpk redpanda config set; rpk redpanda mode production enables the
production tuner set in one step. Details, IRQ modes (sq/sq_split/mq),
the redpanda-tuner systemd service, and iotune reuse across identical
hardware are in
node-lifecycle-and-tuning.md.
Reference Directory
- node-lifecycle-and-tuning.md:
rpk redpanda start (flags, --mode dev-container, tuning-at-start,
well-known-io), stop (signal escalation), mode
(production/development/recovery semantics), check, the autotuner
(tune, tune list, tune help, IRQ modes, systemd unit), and
rpk iotune (flags, output file, reuse workflow).
- admin-and-decommission.md: the
rpk redpanda admin subtree — brokers list/decommission/ decommission-status/recommission with the full safe-decommission
workflow, capacity pre-checks, stall troubleshooting, and
maintenance-mode interaction; partitions list; config print; and
config log-level set.
- config-bootstrap.md: node configuration —
rpk redpanda config bootstrap (forming a cluster, --self, --ips,
advertised addresses), config set (dot paths, YAML/JSON values, arrays),
config print, the deprecated config init, and node-vs-cluster config
rules.
- SOURCES.md: source map — where each claim comes
from and what is deferred to live introspection.
1---2name: rpk-redpanda3description: Operate a self-managed Redpanda broker process and node from the CLI using the `rpk redpanda` command family and `rpk iotune`: node lifecycle (start/stop), production vs. development mode, kernel autotuning, node configuration (redpanda.yaml), and per-node Admin API operations including broker.4---56# rpk redpanda: Node Lifecycle, Tuning & Broker Decommission78The `rpk redpanda` family operates a **single Redpanda broker process and its9host node**: starting/stopping the process, editing the node's local10`redpanda.yaml`, tuning the Linux kernel for production, and talking to a11broker's Admin API listener (including broker decommission/recommission).12`rpk iotune` (a separate top-level command) benchmarks the node's disk13hardware for the same node-provisioning story.1415**Self-managed only.** These commands manage the broker process on the node16itself. They are not applicable to Redpanda Cloud (Serverless, BYOC,17Dedicated), where Redpanda operates the brokers. Most of the family is also18**Linux-only**: `start`, `stop`, `mode`, `check`, `tune`, `config`, and19`iotune` are hidden on macOS/Windows builds of rpk — only the `admin`20subtree (which talks to a possibly-remote Admin API) is available21everywhere.2223## Command Tree2425| Command | Purpose |26|---|---|27| `rpk redpanda start` | Start the local broker process (optionally tuning first) |28| `rpk redpanda stop` | Stop the local broker: SIGINT → SIGTERM → SIGKILL escalation |29| `rpk redpanda mode <mode>` | Switch node presets: `production`/`prod`, `development`/`dev`, `recovery` |30| `rpk redpanda check` | Verify the system meets Redpanda's requirements |31| `rpk redpanda tune <tuner>...` \| `all` | The autotuner — optimize Linux kernel settings (root required) |32| `rpk redpanda tune list` | List tuners with enabled/supported status |33| `rpk redpanda tune help [TUNER]` | Describe a tuner in detail |34| `rpk redpanda config bootstrap` | Generate `redpanda.yaml` to form/join a cluster |35| `rpk redpanda config set <key> <value>` | Set node config values in `redpanda.yaml` |36| `rpk redpanda config print` | Display the node configuration (alias: `dump`) |37| `rpk redpanda config init` | (Deprecated) Set the node UUID after install |38| `rpk redpanda admin brokers list` | (Deprecated → `rpk cluster info -b --detailed`) List brokers via the admin listener |39| `rpk redpanda admin brokers decommission <ID>` | (Deprecated → `rpk cluster brokers decommission`) Remove a broker from the cluster |40| `rpk redpanda admin brokers decommission-status <ID>` | (Deprecated → `rpk cluster brokers decommission-status`) Monitor decommission progress |41| `rpk redpanda admin brokers recommission <ID>` | (Deprecated → `rpk cluster brokers recommission`) Abort an in-progress decommission |42| `rpk redpanda admin partitions list [ID]` | List the partitions hosted on one broker |43| `rpk redpanda admin config print` | (Deprecated → `rpk cluster config list --node-id <ID>`) Display a broker's effective configuration |44| `rpk redpanda admin config log-level set` | (Deprecated → `rpk cluster loggers set`) Temporarily change a broker's logger levels |45| `rpk iotune` | Benchmark disk I/O and write `io-config.yaml` for the broker to read at startup |4647> **v26.2 relocation.** The `rpk redpanda admin brokers` and `rpk redpanda48> admin config` commands are now **hidden and deprecated**. Broker49> decommission/recommission moved to `rpk cluster brokers`, log-level control50> to `rpk cluster loggers`, and per-node config printing to `rpk cluster config51> list --node-id <ID>` (all in the **rpk-cluster** skill). The old spellings52> still run — they forward to the new commands — but new automation should use53> the `rpk cluster ...` forms. `rpk redpanda admin partitions list` is54> unaffected.5556## Quickstart5758```bash59# --- Provision a production node (run on the node, as root where noted) ---6061# 1. Generate redpanda.yaml with this node's IP and the seed servers62rpk redpanda config bootstrap --self <private-ip> --ips <ip1>,<ip2>,<ip3>6364# 2. Switch the node to production mode (enables the production tuner set)65rpk redpanda mode production6667# 3. Run the autotuner (requires root; Linux kernel settings)68sudo rpk redpanda tune all6970# 4. Benchmark disk I/O once per hardware type (defaults: 10m run,71# writes /etc/redpanda/io-config.yaml which redpanda reads at startup)72sudo rpk iotune7374# 5. Verify the system meets requirements, then start75rpk redpanda check76rpk redpanda start7778# --- Development: one-shot local broker with dev presets ---79rpk redpanda start --mode dev-container8081# --- Stop the local broker (SIGINT, then SIGTERM, then SIGKILL) ---82rpk redpanda stop --timeout 10s8384# --- Node configuration (redpanda.yaml on local disk) ---85rpk redpanda config set redpanda.empty_seed_starts_cluster false86rpk redpanda config set rpk.tune_aio_events true87rpk redpanda config print8889# --- Broker decommission (canonical since v26.2; rpk-cluster skill) ---90rpk cluster info -b --detailed # list brokers91rpk cluster brokers decommission 492rpk cluster brokers decommission-status 4 -d -H # monitor93rpk cluster brokers recommission 4 # abort (only while in progress)9495# --- Per-broker diagnostics via the admin listener ---96rpk redpanda admin partitions list 1 --leader-only97rpk cluster config list --node-id 0 # a broker's effective config98rpk cluster loggers set storage --node-id 0 -l debug -e 30099```100101## Decision Rules102103- **`rpk redpanda` vs `rpk cluster`:** `rpk redpanda` is node-level (the104 local process, the local `redpanda.yaml`, per-broker admin operations).105 `rpk cluster` is cluster-wide (cluster config, health, partition106 balancing/movement, maintenance mode, self-test) — see the **rpk-cluster**107 skill.108- **Broker decommission moved in v26.2.** The canonical commands are now109 `rpk cluster brokers decommission/decommission-status/recommission`110 (rpk-cluster skill). The `rpk redpanda admin brokers ...` spellings still111 work but are hidden, deprecated aliases that forward there.112- **Maintenance mode is NOT here.** Draining leadership for a rolling113 restart is `rpk cluster maintenance enable/disable/status` (rpk-cluster114 skill). Entering maintenance mode before decommissioning is **optional** —115 decommission drains leadership gracefully on its own.116- **Node config vs cluster config:** properties in the local117 `redpanda.yaml` (listeners, seeds, data dir, `rpk.tune_*` tuner flags)118 are set with `rpk redpanda config set` and generally need a broker119 restart. Cluster-wide properties (retention, tiered storage, etc.) are120 `rpk cluster config set` and propagate to all nodes.121- **`tune` vs `iotune`:** `rpk redpanda tune` (the autotuner) modifies122 Linux **kernel** settings; `rpk iotune` **benchmarks the disks** and123 writes an I/O properties file that redpanda reads at startup. A124 production node wants both. `iotune` output is reusable across nodes with125 identical hardware.126- **Which node does a command touch?** `start`, `stop`, `mode`, `check`,127 `tune`, `config`, and `iotune` act on the **local machine**. The `admin`128 subtree targets whatever `rpk.admin_api.addresses` (or129 `-X admin.hosts=...`) points at, so it can be run from anywhere.130- **Not for local dev containers:** to spin up throwaway local clusters in131 Docker, use `rpk container` (see the rpk skill) instead of132 `rpk redpanda start`.133134## Broker Decommission (Top-Tier Ops Task)135136Decommissioning permanently removes a broker: the controller leader moves137all of its partition replicas to the remaining brokers, then removes it138from the cluster. **A decommissioned broker cannot rejoin**, and its node ID139must never be reused.140141Since v26.2 the canonical commands are `rpk cluster brokers ...` (rpk-cluster142skill); the `rpk redpanda admin brokers ...` aliases still work but are hidden143and deprecated.144145```bash146# 1. Pre-check: cluster healthy, and remaining brokers can absorb the data147rpk cluster health148rpk cluster info -b --detailed149150# 2. Start the decommission151rpk cluster brokers decommission 4152153# 3. Monitor until every partition reaches 100% (add -d for bytes moved/remaining)154rpk cluster brokers decommission-status 4 -d -H155156# 4. Changed your mind while it is still moving data? Abort:157rpk cluster brokers recommission 4158159# 5. When complete, verify removal, then shut the node's process down160rpk cluster info -b --include-decommissioned161```162163Before decommissioning, confirm the remaining broker count still satisfies164the highest topic replication factor, rack-awareness spread, disk capacity,165and partition-per-core limits. If progress stalls, check for leaderless166partitions and consider raising `raft_learner_recovery_rate`. Full167pre-checks, failure modes, `--skip-liveness-check` semantics, and the168maintenance-mode interaction are in169[admin-and-decommission.md](references/admin-and-decommission.md).170171## The Autotuner and iotune172173`rpk redpanda tune` identifies the node's hardware and optimizes the Linux174kernel for Redpanda (disk IRQs, scheduler, AIO limits, swappiness, CPU175governor, and more). Run it as root, as part of production deployment, on176every broker node. Do not run it in Azure self-managed environments.177178```bash179sudo rpk redpanda tune all # run every enabled tuner180rpk redpanda tune list # tuners + enabled/supported status (live source of truth)181rpk redpanda tune help <tuner> # what one tuner does182sudo rpk iotune # disk benchmark -> /etc/redpanda/io-config.yaml183```184185The available tuners and their support status vary by kernel, hardware, and186cloud — always introspect with `rpk redpanda tune list` rather than relying187on a static list. Each tuner is toggled by an `rpk.tune_*` key in188`redpanda.yaml` (for example `rpk.tune_aio_events`), set via189`rpk redpanda config set`; `rpk redpanda mode production` enables the190production tuner set in one step. Details, IRQ modes (`sq`/`sq_split`/`mq`),191the `redpanda-tuner` systemd service, and iotune reuse across identical192hardware are in193[node-lifecycle-and-tuning.md](references/node-lifecycle-and-tuning.md).194195## Reference Directory196197- [node-lifecycle-and-tuning.md](references/node-lifecycle-and-tuning.md):198 `rpk redpanda start` (flags, `--mode dev-container`, tuning-at-start,199 well-known-io), `stop` (signal escalation), `mode`200 (production/development/recovery semantics), `check`, the autotuner201 (`tune`, `tune list`, `tune help`, IRQ modes, systemd unit), and202 `rpk iotune` (flags, output file, reuse workflow).203- [admin-and-decommission.md](references/admin-and-decommission.md): the204 `rpk redpanda admin` subtree — `brokers list/decommission/205 decommission-status/recommission` with the full safe-decommission206 workflow, capacity pre-checks, stall troubleshooting, and207 maintenance-mode interaction; `partitions list`; `config print`; and208 `config log-level set`.209- [config-bootstrap.md](references/config-bootstrap.md): node configuration —210 `rpk redpanda config bootstrap` (forming a cluster, `--self`, `--ips`,211 advertised addresses), `config set` (dot paths, YAML/JSON values, arrays),212 `config print`, the deprecated `config init`, and node-vs-cluster config213 rules.214- [SOURCES.md](references/SOURCES.md): source map — where each claim comes215 from and what is deferred to live introspection.