Introduction to rpk

The rpk command line interface tool is designed to manage your entire Redpanda cluster, without the need to run a separate script for each function, as with Apache Kafka. The rpk commands handle everything from configuring nodes and low-level tuning, to high-level general Redpanda tasks. For example, you can use rpk to perform rolling upgrades and tuning, monitor your cluster’s health, and implement access control lists (ACLs) and other security features. You can also use rpk to perform basic streaming tasks, such as creating topics, producing to topics, and consuming from topics.

In general, rpk commands can be divided into these categories:

  • Managing Redpanda

  • Managing topics, producing to topics, and consuming from topics

  • Debugging and tuning the host

  • Interacting with Redpanda Cloud

Installation methods

The rpk binary is bundled with Redpanda, so it is automatically installed on each Redpanda broker. In addition, you can install rpk on your local machine as a standalone binary. This method can be used for self-hosted and cloud deployments, as well as Kubernetes deployments.

After you install rpk, you can use it to interact with a Redpanda cluster. The cluster can run on your local machine, or it can run externally on a remote server or on Redpanda Cloud, for example.

The following diagram shows how rpk communicates with a Redpanda broker installed on your local machine. The rpk binary is installed as part of the Redpanda bundle.

rpk communicating with a broker on your local machine

The next diagram shows how rpk communicates with a remote cluster when you install rpk as a standalone binary on your local machine.

rpk communicating with a remote cluster

Specifying command properties

You can specify rpk command properties in three ways:

  • By specifying the appropriate flag on the command line.

  • By defining the corresponding environment variables.

    Environment variable settings only last for the duration of a shell session.

  • By editing the configuration file settings in the rpk section of the redpanda.yaml file.

    Configuration file property settings stay the same for each shell session.

Command line flag settings take precedence over the corresponding environment variables, and environment variables take precedence over configuration file settings. If a required flag is not specified on the command line, Redpanda searches the environment variable. If the environment variable is not set, the value in the configuration file is used.

If you specify rpk command properties in the configuration file or as environment variables, you don’t need to specify them again on the command line.

The following table lists command properties and their corresponding command line flags, environment variables, and configuration file settings.

Property Flag Environment Variable Configuration File Field

Redpanda Brokers

--brokers

REDPANDA_BROKERS

rpk.kafka_api.brokers

Admin API

--api-urls

REDPANDA_API_ADMIN_ADDRS

rpk.admin_api.addresses

Redpanda TLS Key

--tls-key

REDPANDA_TLS_KEY

rpk.kafka_api.tls.key_file

Redpanda TLS Cert

--tls-cert

REDPANDA_TLS_CERT

rpk.kafka_api.tls.cert_file

Redpanda TLS Truststore

--tls-truststore

REDPANDA_TLS_TRUSTSTORE

rpk.kafka_api.tls.truststore_file

Redpanda SASL Mechanism

--sasl-mechanism

REDPANDA_SASL_MECHANISM

rpk.kafka_api.sasl.type

Redpanda SASL Username

--user

REDPANDA_SASL_USERNAME

rpk.kafka_api.sasl.user

Redpanda SASL Password

--password

REDPANDA_SASL_PASSWORD

rpk.kafka_api.sasl.password

Redpanda Admin API TLS Key

--admin-api-tls-key

REDPANDA_ADMIN_TLS_KEY

rpk.admin_api.tls.key_file

Redpanda Admin API TLS Cert

--admin-api-tls-cert

REDPANDA_ADMIN_TLS_CERT

rpk.admin_api.tls.cert_file

Redpanda Admin API TLS Truststore

--admin-api-tls-truststore

REDPANDA_ADMIN_TLS_TRUSTSTORE

rpk.admin_api.tls.truststore_file

Next steps