Redpanda in Kubernetes

Kubernetes is a container orchestration tool that helps you to manage Redpanda cluster deployments using declarative configuration files called manifests. Kubernetes provides a standardized way of achieving the following:

  • High availability

  • Disaster recovery

  • Scalability

Redpanda Helm chart vs Redpanda Operator

Redpanda offers two tools for deploying Redpanda clusters in Kubernetes:

  • Redpanda Helm chart (recommended)

  • Redpanda Operator (not recommended for new deployments)

Redpanda recommends the Helm chart for all new deployments. As a result, the Kubernetes documentation in this section is for Helm chart deployments.

  • Redpanda Helm chart

  • Redpanda Operator

The Redpanda Helm chart generates and applies all the manifest files you need for deploying Redpanda on Kubernetes. For example:

  • StatefulSet

  • Headless ClusterIP Service

  • NodePort Service

You can deploy the Helm chart with the default settings, or customize the configuration by overriding the default values in your own YAML file with the --values option or in the command line with the --set option.

The Redpanda Operator extends Kubernetes by defining a custom resource definition (CRD) to represent Redpanda clusters as Kubernetes resources. The Redpanda Operator monitors Kubernetes for Redpanda resources, and it creates or updates Redpanda clusters to match the declarative specification in the CRD.

Redpanda does not recommend the Redpanda Operator for new deployments. The Redpanda Operator was built for Redpanda Cloud and has unique features and workflows for that specific use case. If you’re not already using the Redpanda Operator, use the Helm chart.

The documentation for Redpanda Operator is provided only for existing users in the Reference section.

Managed vs bare-metal

You can run Redpanda on managed Kubernetes platforms as well as in bare-metal environments.

Managed Kubernetes

Managed Kubernetes platforms manage one or more components of a Kubernetes cluster for you. Several cloud computing providers offer products that provision Kubernetes clusters on their platform. For example, Google offers GKE and Amazon offers EKS.

Managed Kubernetes platforms do the following:

  • Maintain and update the control plane software

  • Monitor the health of master nodes and perform repairs, as needed.

You are responsible for deploying and maintaining your applications on the worker nodes. Managed Kubernetes platforms allow you to provision cloud instances to serve as worker nodes. These instances are pre-configured with the Kubernetes agent software and automatically join your Kubernetes cluster.

Bare-metal Kubernetes environments

Bare-metal Kubernetes environments include any deployments where you are responsible for the control plane and the master nodes.

Get started

To get started, follow one of these guides:

Documentation conventions

The Kubernetes documentation follows these conventions:

  • Resource names: Kubernetes resources names, such as Service or PersistentVolume, are distinguished by the use of Pascal case. These are the names of resources when specified as a kind in manifest files.

  • Helm values: Helm values, such as storage.persistentVolume.enabled, are rendered in monospace font and written according to the JSON path specification.